My Daily Updates can be found here
Week 1 (7 June - 14 June)
-
Prepared Slides for Intro video: Slides
-
Intro Video On youtube: Intro: BeagleWire Software | GSoC2021 | BeagleBoard.org
-
Flashed BBB with New iot buster image
-
Trying to run the tools from my system and doing scp the bin files to the bbb for flashing to the BeagleWire
-
Wrote a getting started blog for beaglewire with all the steps Getting BBB Ready for BeagleWire
-
Gone through the LKM tutorial of derekmolloy
Week 2 (14 June - 21 June)
-
Completed a getting started blog for beaglewire with all the steps Getting BBB Ready for BeagleWire
-
Build the LKM module on the beaglewire and tried flashing the fpga via Kernel Space
-
Closed the following issues on the beaglewire repo
Week 3 (21 June - 28 June)
-
Created a List on BeagleWire Repo: Task/issue List
-
Studied GPMC protocol and figuring out timing diagrams
-
Explored the possibility of GPMC to Wishbone conversion: GPMC to Wishbone / Avalon Maste
-
Wrote a GPMC to Wishbone Wrapper which passed initial testing: gpmc_to_wishbone
-
PR merged to the Master branch of BeagleWire: #2
Updated the LKM module with the changes
README added for Examples
Makefile improved
- Solved issue #15
Week 4 (28 June - 5 July)
-
Created a wiki on BeagleWire Repo: wiki
-
Added Docs for individual examples: Docs
-
Made changes in the gpmc to wishbone wrapper
-
Wrote testbench for the gpmc to wishbone wrapper, also tested both write and read conditions.
-
Waveforms of the simulation read and write tests:
-
Tested GPMC to Wishbone Wrapper in the Hardware with arm blinks example.
-
Createad Led Controller with wishbone bus for arm blink
Verilog Code: led_wb.v
Week 5 (5 July - 16 July)
-
Made changes in the gpmc to wishbone wrapper and arm blink wishbone example after mentor’s review.
-
Detailed Changes in PR thread: https://github.com/BeagleWire/BeagleWire/pull/3
-
Closed the issue #12
-
Did Random memory read tests in the gpmc to wishbone wrapper
-
Working on the Wishbone intercon with this reference
-
Prepared two PMODs each having a bar graph LED. In wishbone intercon test each pmod will act as wishbone slave.
- Created platform for beaglewire in litex boards.
-
Beaglewire yaml file for litedram: litedram/examples/beaglewire.yml at master · BeagleWire/litedram · GitHub
-
Produced SDRAM IP:
Week 6 (17 July - 24 July)
- Now we can also flash beaglewire with spidev.
- With the help of Michael we got the litex core running on the FPGA for interfacing the SDRAM IP with beaglewire.
- Litexcore consist of Serv microcontroller + Litedram
)
On-going blockers:
• N/A
Week 7 (25 July - 1 Aug)
-
Closed Following Issues:
-
Added Helper scripts for dtc, spi flash.
-
Explored way to tristate SPI pins without adding overlay for it.
-
Adding Litex with gpmc to wishbone wrapper.
On-going blockers:
- In beaglewire we had three dtc files as of now:
- overlay with spi enabled.
- overlay with spi tristated (0x37) (we wanted to tristate spi so that it doesn’t interfer with fpga)
- overlay with ice40 on spi.
- I wanted to change the pin mode of the pins in run time to avoid changing overlay and reboot process.
- config-pin utility requires the enable universal overlay which causes lots of pinmux issue with gpmc that we are using in beaglewire. So wanted some other way to change pinmode.
Week 8 (2 Aug - 9 Aug )
- Got the Wishbone tool working on litex, using which we can access the litex core memory from the beaglebone
- Demo: Litex - BeagleWire - YouTube
- Wrote a top verilog file for GPMC access of litex core.
- Interfaced VGA with the beaglewire with the help of PMOD,
- Demo: https://i.imgur.com/HaOZ0JX.mp4
On Going Blockers:
- pinmux issue of dts with gpmc pin modes
Week 9 (10 Aug - 17 Aug )
- Added GPMC modes in beagleboard dtsi file.
- Added GPMC phandle in bbb bus file.
- Wrote a new dts file for spi programming of FPGA
Demo: https://asciinema.org/a/ICSlldHwYC4RtOHG0oJkIRUBd
Repo: https://github.com/BeagleWire/BeagleBoard-DeviceTrees - Updated the documentation: https://beaglewire.github.io/
On Going Blockers:
- GPMC - litex debugging