{"id":94,"date":"2021-03-13T22:44:40","date_gmt":"2021-03-14T03:44:40","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/?p=94"},"modified":"2021-03-13T22:44:40","modified_gmt":"2021-03-14T03:44:40","slug":"andys-status-report-for-03-13-2021","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/2021\/03\/13\/andys-status-report-for-03-13-2021\/","title":{"rendered":"Andy&#8217;s Status Report for 03\/13\/2021"},"content":{"rendered":"<p>This week, my main task was to create the memory mapped I\/O necessary to send controller input from the FPGA to the ARM core. In our design, we chose to use the lightweight AXI bus of the Cyclone V FPGA to accomplish this. Additionally, I set up my FPGA with a linux image that allows for a UART console and wrote a brief controller read program to test the communication. Finally, I set up an ARM cross-compilation development environment on my computer, using the arm-none-linux-gnueabihf library provided by arm, in order to compile the controller test program.<\/p>\n<p>&nbsp;<\/p>\n<p>Under the current settings, the controller input is available to the ARM core at the base address of the lightweight AXI memory mapped I\/O space (address 0xFF200000). The controller test uses \/dev\/mem to mmap this address into its address space and read from it, then prints the results to the console.<\/p>\n<p>&nbsp;<\/p>\n<p>Due to my unfamiliarity with qsys, the process of bringing up this communication took longer than I expected. When all was said and done, I did manage to get communication working, though I ran out of time and was unable to finish the controller section of our interface (which would require wrapping it in a kernel module which has a call safely exposed to the user and definitions to ease in parsing buttons). Due to this, I\u2019m slightly behind, but anticipate being able to catch up again next week.<\/p>\n<p>&nbsp;<\/p>\n<p>A video of me running the controller test is available here: <a href=\"https:\/\/www.youtube.com\/watch?v=jU2mdtBN-I0\">https:\/\/www.youtube.com\/watch?v=jU2mdtBN-I0<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The controller test:<\/p>\n<p>https:\/\/drive.google.com\/file\/d\/1U8mn_7gTbG2sWP3rkUN0vx-6YtHiBfZu\/view?usp=sharing<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week, my main task was to create the memory mapped I\/O necessary to send controller input from the FPGA to the ARM core. In our design, we chose to use the lightweight AXI bus of the Cyclone V FPGA to accomplish this. Additionally, I set up my FPGA with a linux image that allows &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/2021\/03\/13\/andys-status-report-for-03-13-2021\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Andy&#8217;s Status Report for 03\/13\/2021&#8221;<\/span><\/a><\/p>\n","protected":false},"author":411,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[4],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts\/94"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/users\/411"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":95,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts\/94\/revisions\/95"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/media?parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/categories?post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/tags?post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}