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
Understanding measure_cpu_freq, get_cpu_freq, & uart_init
?
?

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:24Converting a remainder into a decimal
🖌
2:24Converting a remainder into a decimal
🖌
2:24Converting a remainder into a decimal
🖌
10:19Apply the measure_cpu_freq() equation to the specified speeds of our HiFive11
🖌
10:19Apply the measure_cpu_freq() equation to the specified speeds of our HiFive11
🖌
10:19Apply the measure_cpu_freq() equation to the specified speeds of our HiFive11
🖌
20:07Work back through the equation to determine the exact speed of our chip
🖌
20:07Work back through the equation to determine the exact speed of our chip
🖌
20:07Work back through the equation to determine the exact speed of our chip
🖌
23:18Perform integer division with the correction term on our speeds
🖌
23:18Perform integer division with the correction term on our speeds
🖌
23:18Perform integer division with the correction term on our speeds
🖌
27:04Miblo /me slips into le stream
🗪
27:04Miblo /me slips into le stream
🗪
27:04Miblo /me slips into le stream
🗪
27:07Continue with the integer division
🖌
27:07Continue with the integer division
🖌
27:07Continue with the integer division
🖌
29:53Try to rearrange the calculation avoiding the correction term
🖌
29:53Try to rearrange the calculation avoiding the correction term
🖌
29:53Try to rearrange the calculation avoiding the correction term
🖌
32:06Ask on the forums2 why we couldn't just rearrange the computation
32:06Ask on the forums2 why we couldn't just rearrange the computation
32:06Ask on the forums2 why we couldn't just rearrange the computation
37:05miblo Does their code handle an arbitrary number of decimal places, while ours can't, perhaps?
🗪
37:05miblo Does their code handle an arbitrary number of decimal places, while ours can't, perhaps?
🗪
37:05miblo Does their code handle an arbitrary number of decimal places, while ours can't, perhaps?
🗪
39:04Review our understanding of init.c and resume studying uart_init()3
📖
39:04Review our understanding of init.c and resume studying uart_init()3
📖
39:04Review our understanding of init.c and resume studying uart_init()3
📖
43:39Read about the Transmit Control Register4
📖
43:39Read about the Transmit Control Register4
📖
43:39Read about the Transmit Control Register4
📖
46:40Determine that we fully understand uart_init() and look at the UART0_REG() macro5
📖
46:40Determine that we fully understand uart_init() and look at the UART0_REG() macro5
📖
46:40Determine that we fully understand uart_init() and look at the UART0_REG() macro5
📖
50:28Marry up the UART_REG_DIV and UART_REG_TXCTRL macros with the documentation6
📖
50:28Marry up the UART_REG_DIV and UART_REG_TXCTRL macros with the documentation6
📖
50:28Marry up the UART_REG_DIV and UART_REG_TXCTRL macros with the documentation6
📖
51:47Return to demo_gpio.c and hunt for the write() function called by print_instructions()
📖
51:47Return to demo_gpio.c and hunt for the write() function called by print_instructions()
📖
51:47Return to demo_gpio.c and hunt for the write() function called by print_instructions()
📖
57:25Consult man gcc7 and man ld8 to learn how --wrap works
📖
57:25Consult man gcc7 and man ld8 to learn how --wrap works
📖
57:25Consult man gcc7 and man ld8 to learn how --wrap works
📖
59:34Read __wrap_write() and __wrap_isatty()
📖
59:34Read __wrap_write() and __wrap_isatty()
📖
59:34Read __wrap_write() and __wrap_isatty()
📖
1:01:19Hunt for our copy of unistd.h
📖
1:01:19Hunt for our copy of unistd.h
📖
1:01:19Hunt for our copy of unistd.h
📖
1:09:00Read the standard file descriptors in posix/unistd.h
📖
1:09:00Read the standard file descriptors in posix/unistd.h
📖
1:09:00Read the standard file descriptors in posix/unistd.h
📖
1:10:05Continue studying __wrap_write()
📖
1:10:05Continue studying __wrap_write()
📖
1:10:05Continue studying __wrap_write()
📖
1:11:52We are out of time for today
1:11:52We are out of time for today
1:11:52We are out of time for today