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
Reading about GPIO
?
?

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:07Plug SiFive's shout-out of the interview with Andrew and Yunsup1
0:07Plug SiFive's shout-out of the interview with Andrew and Yunsup1
0:07Plug SiFive's shout-out of the interview with Andrew and Yunsup1
0:22Consult the forums for Megan's advice on finding the OTP2
📖
0:22Consult the forums for Megan's advice on finding the OTP2
📖
0:22Consult the forums for Megan's advice on finding the OTP2
📖
1:31Consult the forums for Megan's advice on enabling the HiFive1 to reliably start our programs3
📖
1:31Consult the forums for Megan's advice on enabling the HiFive1 to reliably start our programs3
📖
1:31Consult the forums for Megan's advice on enabling the HiFive1 to reliably start our programs3
📖
4:29Open our files
4:29Open our files
4:29Open our files
8:42Enable uart_init() to perform a busy loop
8:42Enable uart_init() to perform a busy loop
8:42Enable uart_init() to perform a busy loop
13:39Run our program to see similarly sketchy outputting behaviour
🏃
13:39Run our program to see similarly sketchy outputting behaviour
🏃
13:39Run our program to see similarly sketchy outputting behaviour
🏃
14:08Enable uart_init() to loop over INT_MAX4
14:08Enable uart_init() to loop over INT_MAX4
14:08Enable uart_init() to loop over INT_MAX4
17:18Run our program, see no blinking lights and wonder why
🏃
17:18Run our program, see no blinking lights and wonder why
🏃
17:18Run our program, see no blinking lights and wonder why
🏃
20:31See the lights, the let the program run for a little bit
🏃
20:31See the lights, the let the program run for a little bit
🏃
20:31See the lights, the let the program run for a little bit
🏃
21:28Try looping over INT_MAX on the dev machine
21:28Try looping over INT_MAX on the dev machine
21:28Try looping over INT_MAX on the dev machine
22:21Run our test and estimate that it took five seconds
🏃
22:21Run our test and estimate that it took five seconds
🏃
22:21Run our test and estimate that it took five seconds
🏃
22:56See the properly printed output of print_instructions()
🏃
22:56See the properly printed output of print_instructions()
🏃
22:56See the properly printed output of print_instructions()
🏃
23:05Try to make uart_init() loop over a smaller number
23:05Try to make uart_init() loop over a smaller number
23:05Try to make uart_init() loop over a smaller number
24:14Run our program and see that that worked perfectly
🏃
24:14Run our program and see that that worked perfectly
🏃
24:14Run our program and see that that worked perfectly
🏃
24:57Enable print_instructions() to print out the data at 0x21FE45
24:57Enable print_instructions() to print out the data at 0x21FE45
24:57Enable print_instructions() to print out the data at 0x21FE45
26:00popcorn0x90 0x7FFF. I thought it would be 0xFFFF
🗪
26:00popcorn0x90 0x7FFF. I thought it would be 0xFFFF
🗪
26:00popcorn0x90 0x7FFF. I thought it would be 0xFFFF
🗪
27:01Self-plug the episode on ripple carry adders6
27:01Self-plug the episode on ripple carry adders6
27:01Self-plug the episode on ripple carry adders6
27:50Continue with print_instructions()
27:50Continue with print_instructions()
27:50Continue with print_instructions()
28:22Run our program and see a potentially valid Unix timestamp
🏃
28:22Run our program and see a potentially valid Unix timestamp
🏃
28:22Run our program and see a potentially valid Unix timestamp
🏃
29:18Note that the OTP content locations are offsets7
📖
29:18Note that the OTP content locations are offsets7
📖
29:18Note that the OTP content locations are offsets7
📖
30:32Consult the Platform Reference Manual on the E300 Platform Memory Map8
📖
30:32Consult the Platform Reference Manual on the E300 Platform Memory Map8
📖
30:32Consult the Platform Reference Manual on the E300 Platform Memory Map8
📖
31:30Consult the E3 Coreplex Memory Map table for the address of the OTP read port9
📖
31:30Consult the E3 Coreplex Memory Map table for the address of the OTP read port9
📖
31:30Consult the E3 Coreplex Memory Map table for the address of the OTP read port9
📖
32:49miblo Well, it appears to be 0x7FFFFFFF or 1 << 31 - 1
🗪
32:49miblo Well, it appears to be 0x7FFFFFFF or 1 << 31 - 1
🗪
32:49miblo Well, it appears to be 0x7FFFFFFF or 1 << 31 - 1
🗪
33:25Recap the intuition on two's complement, that you count with zeros
33:25Recap the intuition on two's complement, that you count with zeros
33:25Recap the intuition on two's complement, that you count with zeros
34:42Report the value at 0x21FE4 in the forums10
34:42Report the value at 0x21FE4 in the forums10
34:42Report the value at 0x21FE4 in the forums10
37:06Request for viewers' board ID values at 0x21FE4
37:06Request for viewers' board ID values at 0x21FE4
37:06Request for viewers' board ID values at 0x21FE4
38:11miblo Yeah, I don't have the SDK installed yet, so I'll have to report back
🗪
38:11miblo Yeah, I don't have the SDK installed yet, so I'll have to report back
🗪
38:11miblo Yeah, I don't have the SDK installed yet, so I'll have to report back
🗪
38:32Scan quickly through the manuals looking for GPIO documentation
38:32Scan quickly through the manuals looking for GPIO documentation
38:32Scan quickly through the manuals looking for GPIO documentation
41:15Read about General Purpose Input/Output Controller (GPIO) in the Platform Reference Manual11
📖
41:15Read about General Purpose Input/Output Controller (GPIO) in the Platform Reference Manual11
📖
41:15Read about General Purpose Input/Output Controller (GPIO) in the Platform Reference Manual11
📖
47:02Read about level-triggered and edge-trigger interrupts on Wikipedia12 in conjunction with Megan's post about how the UART works13
📖
47:02Read about level-triggered and edge-trigger interrupts on Wikipedia12 in conjunction with Megan's post about how the UART works13
📖
47:02Read about level-triggered and edge-trigger interrupts on Wikipedia12 in conjunction with Megan's post about how the UART works13
📖
51:11Continue reading about the GPIO's Interrupts in the Platform Reference Manual14
📖
51:11Continue reading about the GPIO's Interrupts in the Platform Reference Manual14
📖
51:11Continue reading about the GPIO's Interrupts in the Platform Reference Manual14
📖
54:41Research GPIO pull-up15
📖
54:41Research GPIO pull-up15
📖
54:41Research GPIO pull-up15
📖
57:05Continue reading about Internal Pull-Ups and the remaining information about Interrupts in the Platform Reference Manual16
📖
57:05Continue reading about Internal Pull-Ups and the remaining information about Interrupts in the Platform Reference Manual16
📖
57:05Continue reading about Internal Pull-Ups and the remaining information about Interrupts in the Platform Reference Manual16
📖
1:00:27We are out time for today
1:00:27We are out time for today
1:00:27We are out time for today