LCD: putrun or putarea?
Some discoveries about Serial Peripheral Interface, Kinetis, and NuttX. Part of the work on Board Support Package (#BSP) for our board.
Apache #NuttX International Workshop 2025 will be held on this Thursday and Friday (16-17th October 2025) https://events.nuttx.apache.org/ It will be accessible on site (Costa Rica - home location of original author, Gregory Nutt) and online. The NuttX RTOS is POSIX based alternative for processor systems and MCUs where Linux kernel does not fit. But thanks to following POSIX and Linux principles it allows writing applications (with some care) which are easily portable between GNU/Linux, NuttX, RTEMS and other real POSIX alternatives. The list of supported platforms is extensive. The #PX4 Autopilot project which is part of vendor-neutral https://dronecode.org/ operating under #Linuxfoundation umbrella. The system is used in lot of fitness tracker, some smartwatches, Sony earbuds, cameras on the Moon, industrial and automotive applications.
OTREES #cvut booth at #LinuxDays 2025 presenting our CAN/CAN FD projects for #Linux, #NuttX, #FPGA and #RTEMS. SaMoCon motion control platform driven by pysimCoder rapid prototyping solution for #NuttX with online monitoring and parameters tuning and update uploads through silicon-heaven and NXboot integrated in the frame of Štěpán Pressl’s #GSoC 2025 (will be presented in detail on NuttX Workshop October 16 and 17). More on the booth: #Espressif based kits running NuttX (ICE-V Wireless, see our PMSM project, #ESP32C6 with M-bot platform), AMD/Xilinx Zynq MZ_APO running Linux and #RTEMS, PolarFire SoC, Milk-V Pioneer 64 core 64-bit #RISCV system running #QtRvSim (for CompArch education), #CHROMuLAN data acquisition over uLAN driver, LX_RoCoN system used for ESA projects and lot more to see at our booth.
#NuttX Support for IEEE 802.3-2022 10BASE-T1S/L #Ethernet using Open Aliance SPI MAC-PHYs implemented by Michal Matias from #CVUT in frame of #GSoC2025 has been fully merged into NuttX mainline. The common part resides at drivers/net/oa_tc6. #ESP32C6 mapping and mapping for SAVM71-Xplained Ultra are good examples for straightforward extension to other MCU and board NuttX SPI interfaces. The accompanying plcatool for Physical Layer Collision Avoidance parameters configuration matching OA-TC14 specification is another contribution.
Гайд на сборку OpenVela для STM32 из-под WSL от 16-летнего отрока
В этой статье мы соберем ОСРВ OpenVela от Xiaomi под отладочную плату STM32 F411CEU6, используя WSL, который официально вроде как не поддерживается. Эта ОС базирована на Apache Nuttx и имеет много фич от Xiaomi, включая HyperConnect. В комплекте также небольшая предыстория от автора. Цум Интрестинг
@ljs @vbabka Thanks to both. Yes, I remember to read about new/concurrent/RCU friendly VMA tree at #lwn some time ago, I try fit more letters in the triangle, on the other hand R-B tree is something which students know… but showing maple can be motivation to search for more modern data structures in their future projects, I mention user-space RCU, cuckoo hashing from Knot DNS as well as others.
struct radix_tree_root page_tree; /* radix tree of all pages */
Good catch, it seems to have gone in 4.17 kernel, when it has been renamed to
struct radix_tree_root i_pages;
and it has been changed to struct xarray in 4.20. So this is evolution.
So it should be updated to be modern.
VPFN (virtual page frame number) and physical (P)PFN is used by me to distinguish what is view and meaning of address bits before and after MMU translation. It highlights that translation cares only about page sized frames no full addresses. It seems that it is not only mine local invention - used even on WikiBooks/The_Linux_Kernel/Memory.
The goal is to provide mainly an overall picture not details to start hacking and contributions to the kernel so if it is “roughly” appropriate is important. But if some students are attracted to contribute to Linux it would be great outcome. We have more students contributing to #NuttX which is lower bar for starting. But some have contributed drivers to Linux as well.
Summer 2025 #cvut defended theses by OTREES / “my” students:
See the last OTREES theses list for link to repositories and more
Another related theses from #cvut Faculty of Information Technologies mentored by Michal Štepanovský to mention:
Stay tuned next summer as well, there is student interested in thesis to add MMU to #QtRvSim
The #QEMU on the Linux host emulation of CAN/CAN FD bus for #nuttx presented in the article Host-Based Development with Apache NuttX – CAN Network Simulation by Mateusz Szafoni is using lot of the components from our #canbus list https://canbus.pages.fel.cvut.cz/. I have even prepared CTU CAN FD QEMU emulation variant for SoCs without PCI/PCIe bus on the branch net-can-ctucanfd-platform and my student, Matyáš Bobek has just finished his thesis adding iMX6 FlexCAN emulation into QEMU, code is available on the flexcan branch of his QEMU repository.
https://purl.org/rzr/digitaltwins-webthings-iotjs-20190512rzr# #WebOfTwins : which #OperatingSystem are you using on your #MCU boards ? I have ported #NuttX to #NucleoF767ZI #SMT32F7
#Avaota-A1 #Arm64 SBC is officially supported by Apache #NuttX RTOS (#Allwinner A527 SoC) ... Let's take #Unicorn Emulator and create a Software Emulator for Avaota SBC
🤔 "Explain how #NuttX boots"
Source: https://docs.google.com/document/d/1qYkBu3ca3o5BXdwtUpe0EirMv9PpMOdmf7QBnqGFJkA/edit?tab=t.0
Apache #NuttX might be the First OS to boot on #Unicorn Emulator 🎉
Source: https://github.com/lupyuen/nuttx-arm64-emulator/issues/2
ROM FS Filesystem in Apache #NuttX RTOS
Source: https://github.com/lupyuen/nuttx-arm64-emulator/blob/avaota/nuttx-boot-flow.pdf
SysCall 0 in #NuttX #Arm64 ... What's supposed to happen? 🤔
Source: https://github.com/lupyuen/nuttx-arm64-emulator#handle-nuttx-syscall-in-unicorn