RISCY BUSINESS»Episode Guide
PWM Speed Test (Cont.)
?
?

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:08Recap and set the stage for the day
0:08Recap and set the stage for the day
0:08Recap and set the stage for the day
0:32Point out a solution from the forum1 to build the Freedom E SDK
📖
0:32Point out a solution from the forum1 to build the Freedom E SDK
📖
0:32Point out a solution from the forum1 to build the Freedom E SDK
📖
2:26Compile and upload test.c to our HiFive1
2:26Compile and upload test.c to our HiFive1
2:26Compile and upload test.c to our HiFive1
5:02Connect to and reset our HiFive1, to see no output
🏃
5:02Connect to and reset our HiFive1, to see no output
🏃
5:02Connect to and reset our HiFive1, to see no output
🏃
6:22Use PWM0_REG rather than PWM1_REG
6:22Use PWM0_REG rather than PWM1_REG
6:22Use PWM0_REG rather than PWM1_REG
7:43Compile, upload and run test.c to see no output
🏃
7:43Compile, upload and run test.c to see no output
🏃
7:43Compile, upload and run test.c to see no output
🏃
8:51Try to print "Hello, World!" before entering the busy-loop
8:51Try to print "Hello, World!" before entering the busy-loop
8:51Try to print "Hello, World!" before entering the busy-loop
9:47Run our program and see no output
🏃
9:47Run our program and see no output
🏃
9:47Run our program and see no output
🏃
12:21Simplify test.c down to the absolute essentials for printing
12:21Simplify test.c down to the absolute essentials for printing
12:21Simplify test.c down to the absolute essentials for printing
13:26Try to run our program and still see no output
🏃
13:26Try to run our program and still see no output
🏃
13:26Try to run our program and still see no output
🏃
14:32Append '\r' to our string
14:32Append '\r' to our string
14:32Append '\r' to our string
15:25Run our program and again see no output
🏃
15:25Run our program and again see no output
🏃
15:25Run our program and again see no output
🏃
16:26Set up the UART
16:26Set up the UART
16:26Set up the UART
17:24Try to run our program and still see no output
🏃
17:24Try to run our program and still see no output
🏃
17:24Try to run our program and still see no output
🏃
18:08Make test.c wait for the HiFive1 to settle
18:08Make test.c wait for the HiFive1 to settle
18:08Make test.c wait for the HiFive1 to settle
18:51Try to run our program and still see no output
🏃
18:51Try to run our program and still see no output
🏃
18:51Try to run our program and still see no output
🏃
19:44Pass our "Hello, World!" string to _puts() as a variable
19:44Pass our "Hello, World!" string to _puts() as a variable
19:44Pass our "Hello, World!" string to _puts() as a variable
21:08Try to run our program and still see no output
🏃
21:08Try to run our program and still see no output
🏃
21:08Try to run our program and still see no output
🏃
22:21Compile, upload and run led_fade to determine that our upload is not working, and investigate why
🏃
22:21Compile, upload and run led_fade to determine that our upload is not working, and investigate why
🏃
22:21Compile, upload and run led_fade to determine that our upload is not working, and investigate why
🏃
25:41Peruse the forums for information on upload failures2
📖
25:41Peruse the forums for information on upload failures2
📖
25:41Peruse the forums for information on upload failures2
📖
29:04Try to upload the led_fade program in safe mode3
29:04Try to upload the led_fade program in safe mode3
29:04Try to upload the led_fade program in safe mode3
32:51Connect to and reset our HiFive1 to see the led_fade successfully running
🏃
32:51Connect to and reset our HiFive1 to see the led_fade successfully running
🏃
32:51Connect to and reset our HiFive1 to see the led_fade successfully running
🏃
33:22Try to upload demo_gpio, and run it successfully
🏃
33:22Try to upload demo_gpio, and run it successfully
🏃
33:22Try to upload demo_gpio, and run it successfully
🏃
35:26Try to upload our own test program, and run it successfully
🏃
35:26Try to upload our own test program, and run it successfully
🏃
35:26Try to upload our own test program, and run it successfully
🏃
37:01Uncomment our PLIC_init() call, hit an error upon uploading, and investigate why
37:01Uncomment our PLIC_init() call, hit an error upon uploading, and investigate why
37:01Uncomment our PLIC_init() call, hit an error upon uploading, and investigate why
41:02Comment out the g_ext_interrupt_handlers initialisation
41:02Comment out the g_ext_interrupt_handlers initialisation
41:02Comment out the g_ext_interrupt_handlers initialisation
41:38Switch to safe boot mode, upload and successfully run our test program
🏃
41:38Switch to safe boot mode, upload and successfully run our test program
🏃
41:38Switch to safe boot mode, upload and successfully run our test program
🏃
42:27Uncomment that g_ext_interrupt_handlers initialisation and try to determine how the interrupt handlers table should be set up
42:27Uncomment that g_ext_interrupt_handlers initialisation and try to determine how the interrupt handlers table should be set up
42:27Uncomment that g_ext_interrupt_handlers initialisation and try to determine how the interrupt handlers table should be set up
44:30Try to upload and run our test program, to see that we were doing it correctly after all
🏃
44:30Try to upload and run our test program, to see that we were doing it correctly after all
🏃
44:30Try to upload and run our test program, to see that we were doing it correctly after all
🏃
45:04Try to pass a string literal to _puts()
45:04Try to pass a string literal to _puts()
45:04Try to pass a string literal to _puts()
47:48Upload and run our program successfully
🏃
47:48Upload and run our program successfully
🏃
47:48Upload and run our program successfully
🏃
48:34Proceed to uncomment the PLIC_enable_interrupt() call and set up the PWM in ONESHOT mode
48:34Proceed to uncomment the PLIC_enable_interrupt() call and set up the PWM in ONESHOT mode
48:34Proceed to uncomment the PLIC_enable_interrupt() call and set up the PWM in ONESHOT mode
49:39Switch to safe boot mode, upload and run our program without success, and investigate why
🏃
49:39Switch to safe boot mode, upload and run our program without success, and investigate why
🏃
49:39Switch to safe boot mode, upload and run our program without success, and investigate why
🏃
52:18Introduce mei_isr() and correctly set up the PLIC interrupt handler
52:18Introduce mei_isr() and correctly set up the PLIC interrupt handler
52:18Introduce mei_isr() and correctly set up the PLIC interrupt handler
59:58Read through trap_entry in entry.S
📖
59:58Read through trap_entry in entry.S
📖
59:58Read through trap_entry in entry.S
📖
1:05:28Consider how global_interrupts.c sets up the interrupt handlers
📖
1:05:28Consider how global_interrupts.c sets up the interrupt handlers
📖
1:05:28Consider how global_interrupts.c sets up the interrupt handlers
📖
1:10:19See how coreplexip-e31-arty/init.c sets up the localISR in handle_trap()
📖
1:10:19See how coreplexip-e31-arty/init.c sets up the localISR in handle_trap()
📖
1:10:19See how coreplexip-e31-arty/init.c sets up the localISR in handle_trap()
📖
1:13:09Wrap it up with the determination to dive into the assembly code
1:13:09Wrap it up with the determination to dive into the assembly code
1:13:09Wrap it up with the determination to dive into the assembly code