We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
RISCY BUSINESS»Episode Guide
uart_init, get_cpu_freq, & `static` Legalese
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:07Recap and set the stage for the day
0:07Recap and set the stage for the day
0:07Recap and set the stage for the day
2:30Consult Table 7.1: HiFive1 GPIO Offset to Board Pin Number, and locate the definition of IOF0_UART0_MASK1
📖
2:30Consult Table 7.1: HiFive1 GPIO Offset to Board Pin Number, and locate the definition of IOF0_UART0_MASK1
📖
2:30Consult Table 7.1: HiFive1 GPIO Offset to Board Pin Number, and locate the definition of IOF0_UART0_MASK1
📖
6:17Return to uart_init() and determine to understand how IOF0_UART0_MASK is being used
6:17Return to uart_init() and determine to understand how IOF0_UART0_MASK is being used
6:17Return to uart_init() and determine to understand how IOF0_UART0_MASK is being used
8:34Refresh our memory on the GPIO Complex2 and HW I/O Functions (IOF)3
📖
8:34Refresh our memory on the GPIO Complex2 and HW I/O Functions (IOF)3
📖
8:34Refresh our memory on the GPIO Complex2 and HW I/O Functions (IOF)3
📖
10:49Assume the layout of the IOF select register4
📖
10:49Assume the layout of the IOF select register4
📖
10:49Assume the layout of the IOF select register4
📖
14:09Consult the annotations for IOF5
14:09Consult the annotations for IOF5
14:09Consult the annotations for IOF5
17:44Refresh our memory on the IOF masks for the LEDs
17:44Refresh our memory on the IOF masks for the LEDs
17:44Refresh our memory on the IOF masks for the LEDs
21:38Match up our IOF0_UART0_MASK in code with the documentation6
📖
21:38Match up our IOF0_UART0_MASK in code with the documentation6
📖
21:38Match up our IOF0_UART0_MASK in code with the documentation6
📖
25:23Critique the clarity of using masks instead of offsets for UART0
🍷
25:23Critique the clarity of using masks instead of offsets for UART0
🍷
25:23Critique the clarity of using masks instead of offsets for UART0
🍷
29:09Consider what the static keyword does in terms of zero initialisation
29:09Consider what the static keyword does in terms of zero initialisation
29:09Consider what the static keyword does in terms of zero initialisation
41:36Consult the C11 spec for the default initialisation rule of locally scoped static variables7
📖
41:36Consult the C11 spec for the default initialisation rule of locally scoped static variables7
📖
41:36Consult the C11 spec for the default initialisation rule of locally scoped static variables7
📖
53:08Read section 5.1.2 "Execution environments" in C11 spec, and determine to confirm with SiFive whether their static implementation does zero initialise8
📖
53:08Read section 5.1.2 "Execution environments" in C11 spec, and determine to confirm with SiFive whether their static implementation does zero initialise8
📖
53:08Read section 5.1.2 "Execution environments" in C11 spec, and determine to confirm with SiFive whether their static implementation does zero initialise8
📖
56:56Read about how the uninitialised .bss segment in Linux executables, which holds global and static variables, initialises variables to zero
📖
56:56Read about how the uninitialised .bss segment in Linux executables, which holds global and static variables, initialises variables to zero
📖
56:56Read about how the uninitialised .bss segment in Linux executables, which holds global and static variables, initialises variables to zero
📖
57:59Recommend not explicitly initialising static and global variables to 0 to save some space
🎲
57:59Recommend not explicitly initialising static and global variables to 0 to save some space
🎲
57:59Recommend not explicitly initialising static and global variables to 0 to save some space
🎲
59:04Ask in the forums where it is defined how uninitialised variables with static storage duration are initialized for the HiFive19
📖
59:04Ask in the forums where it is defined how uninitialised variables with static storage duration are initialized for the HiFive19
📖
59:04Ask in the forums where it is defined how uninitialised variables with static storage duration are initialized for the HiFive19
📖
1:05:18We are out of time for tonight
1:05:18We are out of time for tonight
1:05:18We are out of time for tonight