Awesome Contents

Investigating handle_m_time_interrupt

Investigating handle_m_time_interrupt ⚠ Click here to regain focus ⚠
?
?

Keyboard Navigation

Global Keys

W, A, P / S, D, N Jump to previous / next marker
z Toggle filter mode V Revert filter to original state

Menu toggling

q Quotes r References f Filter c Credits

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

Credits Menu

Enter Open URL (in new tab)
0:08Recap and set the stage for the day, with a special shout-out to Andrew Waterman
0:08Recap and set the stage for the day, with a special shout-out to Andrew Waterman
0:08Recap and set the stage for the day, with a special shout-out to Andrew Waterman
3:05Dive back into demo_gpio.c and look into setting mtimecmp to operate on an arbitrary thread
3:05Dive back into demo_gpio.c and look into setting mtimecmp to operate on an arbitrary thread
3:05Dive back into demo_gpio.c and look into setting mtimecmp to operate on an arbitrary thread
4:48Understanding shifting with relation to the memory addresses
4:48Understanding shifting with relation to the memory addresses
4:48Understanding shifting with relation to the memory addresses
9:01Jumping in increments, using multiplication
9:01Jumping in increments, using multiplication
9:01Jumping in increments, using multiplication
11:44A few words on traditional mathematics vs bitwise operations
11:44A few words on traditional mathematics vs bitwise operations
11:44A few words on traditional mathematics vs bitwise operations
14:01Continue reading reset_demo()
14:01Continue reading reset_demo()
14:01Continue reading reset_demo()
15:57Refresh our memories on the Real-Time Clock frequency1
15:57Refresh our memories on the Real-Time Clock frequency1
15:57Refresh our memories on the Real-Time Clock frequency1
21:38Consult the documentation on mtime and mtimecmp2
21:38Consult the documentation on mtime and mtimecmp2
21:38Consult the documentation on mtime and mtimecmp2
24:50Read deeply about the Real-Time Clock3
24:50Read deeply about the Real-Time Clock3
24:50Read deeply about the Real-Time Clock3
29:50Wonder why we have both the RTC and the CLINT's mtime and mtimecmp methods
29:50Wonder why we have both the RTC and the CLINT's mtime and mtimecmp methods
29:50Wonder why we have both the RTC and the CLINT's mtime and mtimecmp methods
31:34Come to understand handle_m_time_interrupt() in demo_gpio.c
31:34Come to understand handle_m_time_interrupt() in demo_gpio.c
31:34Come to understand handle_m_time_interrupt() in demo_gpio.c
34:51Investigate how it knows to call handle_m_time_interrupt(), and remain bamboozled
34:51Investigate how it knows to call handle_m_time_interrupt(), and remain bamboozled
34:51Investigate how it knows to call handle_m_time_interrupt(), and remain bamboozled
40:07hossein1387 The handle_m_time_interrupt() is defined in init.c
40:07hossein1387 The handle_m_time_interrupt() is defined in init.c
40:07hossein1387 The handle_m_time_interrupt() is defined in init.c
40:36Find handle_m_time_interrupt() in env/freedom-e300-hifive/init.c and investigate what it compiles down to
40:36Find handle_m_time_interrupt() in env/freedom-e300-hifive/init.c and investigate what it compiles down to
40:36Find handle_m_time_interrupt() in env/freedom-e300-hifive/init.c and investigate what it compiles down to
43:30Discover that handle_trap() is responsible for calling handle_m_time_interrupt()
43:30Discover that handle_trap() is responsible for calling handle_m_time_interrupt()
43:30Discover that handle_trap() is responsible for calling handle_m_time_interrupt()
47:17Consider how trap_entry is working
47:17Consider how trap_entry is working
47:17Consider how trap_entry is working
49:49hossein1387 Okay, I think I know what's happening. The trap_entry is defined in entry.S
49:49hossein1387 Okay, I think I know what's happening. The trap_entry is defined in entry.S
49:49hossein1387 Okay, I think I know what's happening. The trap_entry is defined in entry.S
50:50Find a handle_trap call in env/entry.S
50:50Find a handle_trap call in env/entry.S
50:50Find a handle_trap call in env/entry.S
51:34hossein1387 Also take a look at start.S in the same folder
51:34hossein1387 Also take a look at start.S in the same folder
51:34hossein1387 Also take a look at start.S in the same folder
51:51Summarise how handle_trap() works
51:51Summarise how handle_trap() works
51:51Summarise how handle_trap() works
53:39Begin to understand env/start.S
53:39Begin to understand env/start.S
53:39Begin to understand env/start.S
53:49Program entry point
53:49Program entry point
53:49Program entry point
54:39Our actual entry point in start.S
54:39Our actual entry point in start.S
54:39Our actual entry point in start.S
56:15We will continue tomorrow
56:15We will continue tomorrow
56:15We will continue tomorrow