Talking Tock 36
Defining registers, paper season and un-broken links
by AmitThis is the 36th post in a series tracking the development of Tock, a safe multi-tasking operating system for microcontrollers.
We’re presenting Tock today at the Linux Foundation’s OpenIoT summit in Portland! Check out the event website for details.
Porting to New Register Interface
As we’ve discussed previously, @shaneleonard introduced a new interface for defining structs to model memory mapped I/O registers. In the last couple weeks there has been a concerted effort to port the SAM4L, NRF52 and ports to new chips to this interface.
If you maintain a port of Tock, give this new interface a short! There are now plenty of examples to work from. It’s not mandatory—you can still define registers however you like—but we think it’s much more readable and easier to get right.
SenSys Push
It’s paper writing season again. The submission deadline for SenSys 2018 (this time held in Shenzen, China, which is pretty exciting!) is in early April, and many frequent Tock contributors are burrying their heads to write up research results on time.
This means two things. First, there might be a slow down in major code contributions over the next couple months. Two, there should be some exciting new features just in time for the next rolling release! I don’t want to steal any valor from the papers themselves, but I can share that the roadmap includes 6lowpan/Thread edge-device support, automatic clock management on the SAM4L, and a standardized interface for BLE advertising.
Pull Requests
Bolded pull requests were marked “P-Significant”
Merged
- (#757) Add ability to deactivate subscribed callback in system call interface
- (#747) Port to the TI launchxl-cc26x2
- (#782) Port SAM4L AST (timers) to new regs interface
- (#785) Port SAM4L TRNG to new regs interface
- (#793) Update URL for tockloader
- (#794) Fix style and details in documentation
- (#780) RTC support for launchxl
- (#790) Port SAM4L BSCIF to new regs interface
- (#791) Port SAM4L ADC to new regs interface
- (#799) Fix build-system bug with xargo 3.11
- (#800) Make documentation build on netlify more readable
- (#787) Port SAM4L BPM to new regs interface
- (#796) Port CC26xx to new regs interface
- (#803) Fixing broken links in capsule documentation
- (#804) Fix broken links
- (#781) Fix NRF5x clock register inconsistencies
- (#751) Port SAM4L AES to new regs interface
- (#779) Fix warnings for rustdoc
- (#806) Remove unused peripheral registers module in NRF
- (#805) Remove duplicate temperature sensor driver in nrf51
- (#783) Port SAM4L DMA to new regs interface
- (#808) Implement From for FieldValue in register interface
Proposed
- (#766) Port Sam4l USART to new register interface
- (#784) Port SAM4L WDT to new regs interface
- (#797) Port NRF51 UART to new regs interface
- (#801) Upgrade to rustc nightly 2018-03-07
- (#802) TRNG support for CC26xx + Launchxl
- (#807) Port SAM4L GPIO to new regs interface