Hello, this is Week 1 and Week 2 report for my GSoC 2021 project Improvements to simpPRU, my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I will report my weekly progress through this thread from now on.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog
- set up PocketBeagle, BeagleBone Blue and AI - installed Debian, upgraded kernel and scripts, built simpPRU from source
- read PRU Cookbook
- added JSON file for BeagleBone Blue pinouts
- read about testing using CMake, decided to write tests using stubs and mocks for the most part and write some end to end tests for the PRU IO functions later
- Completed Introductory YouTube video
- added a -c flag to simpPRU that stops after generating C code and does not call pru-gcc
- added a -t flag to simpPRU that makes it emit C code with stub functions instead of the PRU IO functions
- added print() and println() functions in simpPRU that can print strings and int/bool identifiers.
- added some tests to check C code generation by compiling the generated C code with stub functions with gcc and comparing output with expected output
- added a Python script to automate the above
Resolution to Blockers:
No real blockers, but tests indicate there are bugs in the parser for for-loop and boolean expressions that I have not fixed yet.
Plans for next week:
- fix for-loop and boolean expressions
- add support for modulo and bitshift operators
- modify the parser so that control statements (break, continue) can only be called inside loops.