This is the first of many weekly reports. I plan to post these every Sunday. They will give a rundown of what I’ve done during the week, list any problems I had, and what I plan to do the following week. I’ll be posting the reports both to the beagle-gsoc Google Group and to my blog.
As this is my first report, I’m including links to all of the project resources:
- Project Blog
- Source Code Repository (i2c branch)
- BeagleBoard.org Project Page
- Google Melange Project Page
- Project Overview Video
Completed this week:
Rebased the skeleton code I had developed when writing my GSoC application.
Extracted the clock configuration code from libgpio and put it into it’s own library, libclkconf. Merged.
Used libclkconf to configure the clocks for i2c. I2C_REV is now readable on all buses on the BeagleBone Black and BeagleBoard-xM.
Wrote code to configure the pins with libpadconf. Need to finish more of the driver to completely test this.
Removed duplicate code in libpadconf. Merged.
Implemented the i2c initialization procedure described in the TRM.
Began work on a read function. It isn’t complete yet, but it can read the magic number and board name from the on board EEPROM on the BeagleBone Black. Screenshot.
Setup netbooting and figured out how to transfer files with ZMODEM. This will improve my productivity a lot. Documented procedure on the project blog (netboot, serial transfer) and Minix wiki (netboot, serial transfer).
Received a BeagleBoard-xM from TI. Thanks TI! Tried it out and made a blog post about running Minix on the BeagleBoard-xM. Will use it for developing/testing Minix i2c support for the dm37xx.
Received a Welcome Package from Google. Thanks Google!
Issues / Concerns / Challenges:
- The files for the stage 1 bootloader and u-boot are downloaded from the Minix website when doing a fresh build of an SD card image. Once this week, the website was down for a few minutes and I couldn’t do a build. To prevent this from happening again, I setup a local mirror on my computer.
- Writing 2GB SD card images to the uSD card is time consuming. It takes about 7 minutes with my class 4 card. I’d prefer a much faster write, compile, test cycle. To overcome this issue, I setup a netboot environment and will use zmodem to transfer my changes (usually just 1 file).
Plan for next week:
- Clean up and finish the read function. Get it working on the BeagleBoard-xM as well.
- Implement the write function.
- Put some EEPROMs on a bread board and test reading and writing data on all of the buses to confirm proper pin configuration and test read/write functions.
- As time permits, begin implementing the /dev interface.