[video member=miotatsu stream_platform=twitch project=riscy title="Learning about the UART" vod_platform=youtube id=75WuPTW4vjs annotator=Miblo] [0:09][Recap and set the stage for the day] [1:01][Note ~Miblo's suggestion to use ctags to find function definitions, and continue the hunt for __atomic_fetch_xor()][:research] [4:57][A few words on software emulation of features commonly associated with :hardware] [6:21][Continue the hunt for __atomic_fetch_xor() in the GCC source code[ref site=GitHub page=gcc url=https://github.com/gcc-mirror/gcc]][:research] [12:18][A few words on compilers performing their built-in operations in some cases, and falling back to your code in others][:experience] [15:22][Continue the search for __atomic_fetch_xor()[ref site=GitHub page=gcc url=https://github.com/gcc-mirror/gcc]][:research] [22:44][TODO: Read disassembly of an __atomic_fetch_xor to see what it does][:blackboard] [25:20][Return to demo_gpio.c, recap our high level understandings and determine to study the UART][:blackboard] [30:24][Read about the Universal Asynchronous Receiver/Transmitter (UART)[ref site="SiFive Developers" page="Freedom E300 Platform Reference Manual" url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research] [40:07][A few words on the terminology "watermark" as a threshold][:research] [41:45][Continue reading about the UART[ref site="SiFive Developers" page="Freedom E300 Platform Reference Manual" url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research] [47:41][UART][:blackboard :peripheral] [51:58][Consult the code for usages of the UART][:peripheral] [56:02][Study uart_init() in init.c][:peripheral :research] [57:45][Solve for div in the baud rate formula][:blackboard :peripheral] [59:52][Note why [@cmuratori Casey] writes higher precedence operators without a space around them][:experience :mathematics] [1:00:24][Continue studying uart_init()][:peripheral :research] [1:02:12][Find Megan's reply regarding the LED brightness[ref site="SiFive Forums" page="The Big RISCY BUSINESS Question Thread" url=https://forums.sifive.com/t/the-big-riscy-business-question-thread/531/4]][:peripheral :research] [1:07:01][Consult Megan's reply regarding the UART line dropping low, and the reason for the busy loop in uart_init()[ref site="SiFive Forums" page="Does anyone else have problems with output?" url=https://forums.sifive.com/t/does-anyone-else-have-problems-with-output/446/4]][:peripheral :research] [1:09:21][Consult table 12.2 on common baud rates[ref site="SiFive Developers" page="Freedom E300 Platform Reference Manual" url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research] [1:10:56][Wonder if the error in the baud rate would cause transmission to drift][:peripheral :research] [1:11:54][We're out of time for today, with a note of the June 1 stream being moved to 23:00 CDT and hopes that ~insobot will be smart enough to pick up the rescheduling] [/video]