Article: LoRa SX1262 on NuttX
Here's my new article that explains how I ported the LoRa Driver for Semtech SX1262 from Linux to NuttX... https://lupyuen.github.io/articles/sx1262 Now that we can send and receive LoRa messages, I'll start porting the LoRaWAN Stack to NuttX. Stay tuned :-) Lup
Article: LoRaWAN on NuttX
This article explains how I ported Semtech's LoRaWAN Stack to NuttX. Have an awesome 2022! :-) https://lupyuen.github.io/articles/lorawan3 Lup
Re: Article: NuttX on BL602 / BL604
Hi Xiao Xiang: If you would like to reproduce or translate my article into Chinese, please go ahead thanks :-) On Thu, 25 Nov 2021, 2:03 pm Xiang Xiao, wrote: > On Thu, Nov 25, 2021 at 1:36 PM Lee, Lup Yuen wrote: > > > Hi All: I have just published an article about NuttX on BL602 / BL604... > > > > https://lupyuen.github.io/articles/nuttx > > > > > Nice article! > For AES/SHA/RSA hardware support, I have talked with BL602 dev two month > ago, and plan to port OpenBSD Cryptographic Framework - Wikipedia > <https://en.wikipedia.org/wiki/OpenBSD_Cryptographic_Framework> in the > next > year and enhance mbedtls/tinycrypt/tomcrypto with the hardware accelerator. > > > > NuttX works great, I'm really enjoying it. Thanks everyone for making > NuttX > > so awesome! :-) > > > > > Let's make NuttX better and better. > > > > Lup > > >
Re: Article: NuttX on BL602 / BL604
Thanks that's great! Looking forward to it :-) On Thu, 25 Nov 2021, 2:03 pm Xiang Xiao, wrote: > On Thu, Nov 25, 2021 at 1:36 PM Lee, Lup Yuen wrote: > > > Hi All: I have just published an article about NuttX on BL602 / BL604... > > > > https://lupyuen.github.io/articles/nuttx > > > > > Nice article! > For AES/SHA/RSA hardware support, I have talked with BL602 dev two month > ago, and plan to port OpenBSD Cryptographic Framework - Wikipedia > <https://en.wikipedia.org/wiki/OpenBSD_Cryptographic_Framework> in the > next > year and enhance mbedtls/tinycrypt/tomcrypto with the hardware accelerator. > > > > NuttX works great, I'm really enjoying it. Thanks everyone for making > NuttX > > so awesome! :-) > > > > > Let's make NuttX better and better. > > > > Lup > > >
Article: NuttX on BL602 / BL604
Hi All: I have just published an article about NuttX on BL602 / BL604... https://lupyuen.github.io/articles/nuttx NuttX works great, I'm really enjoying it. Thanks everyone for making NuttX so awesome! :-) Lup
Article: SPI on BL602 and ESP32
Here's my new article about NuttX SPI on BL602 and ESP32... https://lupyuen.github.io/articles/spi2 Now that NuttX is talking OK to Semtech SX1262 (LoRa Transceiver), I'll start porting the LoRaWAN Stack to NuttX. Thanks :-)
Re: Article: SPI on BL602 and ESP32
Hi Xiao Xiang: Thanks for the suggestion! I'll check out the wireless drivers in NuttX and figure out how to do this. On Mon, Dec 13, 2021 at 11:47 AM Xiang Xiao wrote: > It will be a good addition if you can mainline the integration of LoRa high > level stack. > > On Mon, Dec 13, 2021 at 9:57 AM Lee, Lup Yuen wrote: > > > Here's my new article about NuttX SPI on BL602 and ESP32... > > > > https://lupyuen.github.io/articles/spi2 > > > > Now that NuttX is talking OK to Semtech SX1262 (LoRa Transceiver), I'll > > start porting the LoRaWAN Stack to NuttX. Thanks :-) > > >
Article: Encode Sensor Data with CBOR
This article explains how we may encode Sensor Data with the TinyCBOR Library on NuttX... https://lupyuen.github.io/articles/cbor2 Up Next: Rust Embedded on NuttX :-) Lup
Re: Article: Rust on NuttX
Thanks Alan! I'll do more IoT with Rust on NuttX in future articles :-) On Wed, Jan 12, 2022 at 7:59 AM Alan Carvalho de Assis wrote: > Nice you Lup! Kudos!!! > > On 1/11/22, Lee, Lup Yuen wrote: > > This article explains how we might run Rust apps on NuttX... > > > > https://lupyuen.github.io/articles/rust2 > > > > I also tested the Rust Driver for LoRa SX1262 on NuttX. > > > > Up Next: Connecting NuttX to The Things Network over LoRaWAN > > > > Lup > > >
Article: Rust on NuttX
This article explains how we might run Rust apps on NuttX... https://lupyuen.github.io/articles/rust2 I also tested the Rust Driver for LoRa SX1262 on NuttX. Up Next: Connecting NuttX to The Things Network over LoRaWAN Lup
Article: NuttX Driver for BME280 Sensor (ported from Zephyr OS)
This article explains how I ported the BME280 I2C Driver (Temperature / Humidity / Pressure) from Zephyr OS to NuttX... https://lupyuen.github.io/articles/bme280 Lup
Re: Article: Connect IKEA Air Quality Sensor to NuttX
Thanks Alan! Yep in the next article I'll package the code into a library, so that it's easier to transmit the PM 2.5 data to The Things Network over LoRaWAN. Lup On Fri, Feb 11, 2022 at 6:50 PM Alan Carvalho de Assis wrote: > Great article, as usual. > > I suggest you to create an application lib, similar to the gps minmea lib > to parser and to return the PM 2.5 dust value. > > BR, > > Alan > > On Friday, February 11, 2022, Lee, Lup Yuen wrote: > > > This article explains how I read the PM 2.5 data from IKEA VINDRIKTNING > Air > > Quality Sensor (with some soldering) > > > > https://lupyuen.github.io/articles/ikea > > >
Article: Rust talks I2C on NuttX
This article explains how I ran the Rust Driver for BME280 Sensor on NuttX, by creating a NuttX Embedded HAL... https://lupyuen.github.io/articles/rusti2c Lup
Article: ST7789 Display with LVGL Graphics
This article explains how I configured the Sitronix ST7789 SPI Display and LVGL Graphics Library for NuttX: https://lupyuen.github.io/articles/st7789 Lup
Re: nuttx imxrt board serial use for help
Sorry I haven't tried 3 serial ports. I have tested 2 serial ports on BL602: https://lupyuen.github.io/articles/ikea Lup On Tue, Mar 22, 2022 at 3:04 PM prelude wrote: > A board of our own imxrt1052, refer to > nuttx/boars/arms/imxrt/imxrt1050-evk, and plan to use these serial ports > > /* LPUART1 */ > #define GPIO_LPUART1_RX (GPIO_LPUART1_RX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B0_13 */ > #define GPIO_LPUART1_TX (GPIO_LPUART1_TX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B0_12 */ > > /* LPUART2 */ > #define GPIO_LPUART2_RX (GPIO_LPUART2_RX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B1_03 */ > #define GPIO_LPUART2_TX (GPIO_LPUART2_TX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B1_02 */ > > /* LPUART3 */ > #define GPIO_LPUART3_RX (GPIO_LPUART3_RX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B1_07 */ > #define GPIO_LPUART3_TX (GPIO_LPUART3_TX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B1_06 */ > > /* LPUART4 */ > #define GPIO_LPUART4_RX (GPIO_LPUART4_RX_1|IOMUX_UART_DEFAULT) /* > GPIO_SD_B1_01 */ > #define GPIO_LPUART4_TX (GPIO_LPUART4_TX_1|IOMUX_UART_DEFAULT) /* > GPIO_SD_B1_00 */ > > /* LPUART8 */ > #define GPIO_LPUART8_RX (GPIO_LPUART8_RX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B1_11 */ > #define GPIO_LPUART8_TX (GPIO_LPUART8_TX_1|IOMUX_UART_DEFAULT) /* > GPIO_AD_B1_10 */ > > UART1 is used as the console, but in the process of using it, it is found > that if three or more serial ports are selected in the menconfig > configuration, the console cannot be opened. If two serial ports are > selected, the console will be opened normally. Have you encountered it? >
Article: Connect IKEA Air Quality Sensor to NuttX
This article explains how I read the PM 2.5 data from IKEA VINDRIKTNING Air Quality Sensor (with some soldering) https://lupyuen.github.io/articles/ikea
Article: Auto Flash and Test NuttX on RISC-V BL602
This article explains how I created a Linux script to flash and test NuttX automatically on the BL602 RISC-V SoC... https://lupyuen.github.io/articles/auto Lup
[Article] NuttX on Star64 JH7110: Power Up the Display Controller with U-Boot Bootloader
In olden days we’d "peek" and "poke" the Display Controller, to see weird and wonderful displays. Today (46 years later), we poke around the Display Controller of Star64 JH7110 RISC-V SBC with a modern tool (not BASIC): U-Boot Bootloader! In this article we discover… (1) U-Boot Commands "md" and "mw" for Dumping and Writing Memory (2) That we use to power up the Video Output and Display Controller on the StarFive JH7110 SoC (3) By modding the JH7110 Registers for Power Management Unit, Clock and Reset (4) Also how we’ll create our NuttX Display Driver for JH7110 (5) In spite of the Missing and Incorrect Docs Here's the article: https://lupyuen.codeberg.page/articles/display3.html Lup
Re: riscv64 libm link question
Here's what Ken and I have tried for the riscv64 libm linking problem: (1) The recommended toolchain for NuttX on riscv64 is SiFive Freedom Tools. But it doesn't support Raspberry Pi OS (64-bit Debian). (2) So we used Debian gcc-riscv64-unknown-elf instead. Which shows the missing libm error that Ken described. (3) We're trying an alternative toolchain: xPack GNU RISC-V Embedded GCC. Which might fix the libm problem, but we're not sure if it's supported for NuttX. Wonder if anyone has tried building riscv64 NuttX on Raspberry Pi OS / Arm64 Linux? More details below. Thanks! https://lupyuen.github.io/articles/riscv#appendix-xpack-gnu-risc-v-embedded-gcc-toolchain-for-64-bit-risc-v https://lupyuen.github.io/articles/release#appendix-missing-mathh Lup On Mon, Sep 18, 2023 at 4:15 AM wrote: > On 2023-09-17 12:47, Petro Karashchenko wrote: > > Hi, > > > > What kind of RISC-V toolchain are you using? > > Raspian:RasPi4:~/RISCV/NuttX/apps >>> apt search riscv64-unknown > Sorting... Done > Full Text Search... Done > binutils-riscv64-unknown-elf/oldstable,now 2.32.2020.04+dfsg-2 arm64 > [installed] >GNU assembler, linker and binary utilities for RISC-V processors > > gcc-riscv64-unknown-elf/oldstable,now 8.3.0.2019.08+dfsg-1 arm64 > [installed] >GCC compiler for embedded RISC-V chips > > picolibc-riscv64-unknown-elf/oldstable,oldstable,now 1.5.1-2 all > [installed] >Smaller embedded C library for RISC-V development > > So just `sudo apt-get install ...` of the above. > > > Please try to remove "CFLAGS += -lm " and feedback if that helps. > > No change. > > The problem is not that I am trying to use some released libm library > but that the NuttX nuttx/libs/libm/libm.a is not being linked into the > scheme binary file. > > I have not used other than trivial makefiles in a couple of decades, > never used `make menuconfig`, which allows one to specify many > non-bootable systems, and so have little clue how to specify linking the > NuttX libm into the scheme executable or alternately getting nuttx to > dynamically load the libm library. > > Note that there is no file 'kconfig-language.txt' in the NuttX tools > repository. > > I am kinda stuck. Thanks for any help! > -KenD > >
[Article] NuttX on Star64 JH7110: OpenSBI (Supervisor Binary Interface)
Bare Metal Programming on a RISC-V SBC (Single-Board Computer) sounds difficult. Thankfully we can get help from the OpenSBI Supervisor Binary Interface! (A little like BIOS, but for RISC-V) In this article, we boot NuttX on Star64 JH7110 RISC-V SBC (and VisionFive2) to experiment with OpenSBI: (1) Print to the Serial Console (2) Set a System Timer (3) Query the RISC-V CPUs (4) Fetch the System Information (5) And Shutdown / Reboot our SBC Check out the article: https://lupyuen.codeberg.page/articles/sbi.html Lup
[Article] NuttX on Ox64 BL808 RISC-V SBC
Pine64 Ox64 is an affordable RISC-V SBC ($8) based on Bouffalo Lab BL808 SoC with 3 (Asymmetric) RISC-V Cores: (1) D0 Multimedia Core: 64-bit T-Head C906 with MIPI CSI, Neural Processing Unit (2) M0 Wireless Core: 32-bit T-Head E907 with WiFi, Bluetooth LE, Zigbee, Audio, USB, Ethernet (3) Low Power Core: 32-bit T-Head E902 In this article we explore how NuttX might run on Ox64 (with OpenSBI and U-Boot Bootloader). Check out the article: https://lupyuen.codeberg.page/articles/ox64.html Lup
Re: [VOTE] Apache NuttX 12.3.0 RC1 release
+1 for PinePhone and Star64 Minor Issue: Building PinePhone on macOS shows the message "sed: illegal option -- r" and still builds OK. The patch has been merged, we can add this to the next release: https://github.com/apache/nuttx/pull/10881 = PinePhone Compiler + aarch64-none-elf-gcc -v Using built-in specs. COLLECT_GCC=aarch64-none-elf-gcc COLLECT_LTO_WRAPPER=/Applications/ArmGNUToolchain/11.3.rel1/aarch64-none-elf/bin/../libexec/gcc/aarch64-none-elf/11.3.1/lto-wrapper Target: aarch64-none-elf Configured with: /Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=aarch64-none-elf --prefix=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install --with-gmp=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpfr=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpc=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-isl=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-gnu-ld --with-sysroot=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install/aarch64-none-elf --with-pkgversion='Arm GNU Toolchain 11.3.Rel1' --with-bugurl= https://bugs.linaro.org/ Thread model: single Supported LTO compression algorithms: zlib gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1) = PinePhone Configuration + ./tools/configure.sh pinephone:nsh = PinePhone Size + aarch64-none-elf-size nuttx text databssdechex filename 223903 12913 41612 278428 43f9c nuttx = PinePhone NSH Info and Free NuttShell (NSH) NuttX-12.3.0 nsh> uname -a NuttX 12.3.0 8fdb56b5f2 Oct 18 2023 16:04:29 arm64 pinephone nsh> free total used freelargest nused nfree Umem: 133406712 551512 132855200 132855104 58 2 = Star64 Compiler + riscv64-unknown-elf-gcc -v Using built-in specs. COLLECT_GCC=riscv64-unknown-elf-gcc COLLECT_LTO_WRAPPER=/Users/Luppy/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-apple-darwin/bin/../libexec/gcc/riscv64-unknown-elf/10.2.0/lto-wrapper Target: riscv64-unknown-elf Configured with: /scratch/jenkins/workspace/tpp-freedom-tools/tpp01--build-binary-packages--parameterized/obj/x86_64-apple-darwin/build/riscv64-unknown-elf-gcc/riscv-gcc/configure --target=riscv64-unknown-elf --prefix=/scratch/jenkins/workspace/tpp-freedom-tools/tpp01--build-binary-packages--parameterized/obj/x86_64-apple-darwin/install/riscv64-unknown-elf-gcc-10.2.0-2020.12.8-x86_64-apple-darwin --with-pkgversion='SiFive GCC-Metal 10.2.0-2020.12.8' --with-bugurl= https://github.com/sifive/freedom-tools/issues --disable-shared --disable-threads --enable-languages=c,c++ --enable-tls --with-newlib --with-sysroot=/scratch/jenkins/workspace/tpp-freedom-tools/tpp01--build-binary-packages--parameterized/obj/x86_64-apple-darwin/install/riscv64-unknown-elf-gcc-10.2.0-2020.12.8-x86_64-apple-darwin/riscv64-unknown-elf --with-native-system-header-dir=/include --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libgomp --disable-nls --disable-tm-clone-registry --src=../riscv-gcc --with-system-zlib --enable-checking=yes --enable-multilib --with-abi=lp64d --with-arch=rv64imafdc CFLAGS=-O2 CXXFLAGS=-O2 'CFLAGS_FOR_TARGET=-Os -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-Os -mcmodel=medany' Thread model: single Supported LTO compression algorithms: zlib gcc version 10.2.0 (SiFive GCC-Metal 10.2.0-2020.12.8) = Star64 Configuration + ./tools/configure.sh star64:nsh = Star64 Size + riscv64-unknown-elf-size nuttx text databssdechex filename 168996641 23984 193621 2f455 nuttx = Star64 NSH Info and Free NuttShell (NSH) NuttX-12.3.0 nsh> uname -a NuttX 12.3.0 8fdb56b5f2 Oct 18 2023 16:09:46 risc-v star64 nsh> free total used freelargest nused nfree Kmem:2065400 1460020508002049440 50 3 Page: 20971520 643072 20328448 20328448 PinePhone Script: https://gist.github.com/lupyuen/cdd99bf29ac039b1d8ba185beb4aba00 PinePhone Log: https://gist.github.com/lupyuen/34078e968667c9daff76843d0ef2745c Star64 Script: https://gist.github.com/lupyuen/6003914adc6473922712acb7fa9cad17 Star64 Log: https://gist.github.com/lupyuen/9c7f6e332045323134d2f34a586fea5d Lup On Wed, Oct 18, 2023 at 3:18 PM Alin Jerpelea wrote: > Hello all, > Apache NuttX 12.3.0 RC1 has been staged under [1] and it's > time to vote on accepting it for release. Voting will be open for 72hr. > > A minimum of 3 binding +1 votes and more binding +1 than binding -1 are > required to pass. > > The Apache requirements for approving a release can be found here [3] > "Before voting +1 PMC members
Re: [VOTE] Apache NuttX 12.3.0 RC0 release
+1 for PinePhone and Star64 Minor Issue: Building on macOS shows "sed: illegal option -- r", probably because macOS sed works differently from Linux. I'll track down the PR that caused this. Here are the sed messages: https://gist.github.com/lupyuen/1c3f1f1d71993609bed3b31767595beb#file-pinephone-release-log-L282-L512 = PinePhone Compiler + aarch64-none-elf-gcc -v Using built-in specs. COLLECT_GCC=aarch64-none-elf-gcc COLLECT_LTO_WRAPPER=/Applications/ArmGNUToolchain/11.3.rel1/aarch64-none-elf/bin/../libexec/gcc/aarch64-none-elf/11.3.1/lto-wrapper Target: aarch64-none-elf Configured with: /Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=aarch64-none-elf --prefix=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install --with-gmp=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpfr=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpc=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-isl=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-gnu-ld --with-sysroot=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install/aarch64-none-elf --with-pkgversion='Arm GNU Toolchain 11.3.Rel1' --with-bugurl= https://bugs.linaro.org/ Thread model: single Supported LTO compression algorithms: zlib gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1) = PinePhone Configuration + ./tools/configure.sh pinephone:nsh = PinePhone Size + aarch64-none-elf-size nuttx text databssdechex filename 223895 12913 41612 278420 43f94 nuttx = PinePhone NSH Info and Free NuttShell (NSH) NuttX-12.3.0 nsh> uname -a NuttX 12.3.0 1d349a2a32 Oct 9 2023 16:15:01 arm64 pinephone nsh> free total used freelargest nused nfree Umem: 133406712 551512 132855200 132855104 58 2 = Star64 Compiler + riscv64-unknown-elf-gcc -v Using built-in specs. COLLECT_GCC=riscv64-unknown-elf-gcc COLLECT_LTO_WRAPPER=/Users/Luppy/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-apple-darwin/bin/../libexec/gcc/riscv64-unknown-elf/10.2.0/lto-wrapper Target: riscv64-unknown-elf Configured with: /scratch/jenkins/workspace/tpp-freedom-tools/tpp01--build-binary-packages--parameterized/obj/x86_64-apple-darwin/build/riscv64-unknown-elf-gcc/riscv-gcc/configure --target=riscv64-unknown-elf --prefix=/scratch/jenkins/workspace/tpp-freedom-tools/tpp01--build-binary-packages--parameterized/obj/x86_64-apple-darwin/install/riscv64-unknown-elf-gcc-10.2.0-2020.12.8-x86_64-apple-darwin --with-pkgversion='SiFive GCC-Metal 10.2.0-2020.12.8' --with-bugurl= https://github.com/sifive/freedom-tools/issues --disable-shared --disable-threads --enable-languages=c,c++ --enable-tls --with-newlib --with-sysroot=/scratch/jenkins/workspace/tpp-freedom-tools/tpp01--build-binary-packages--parameterized/obj/x86_64-apple-darwin/install/riscv64-unknown-elf-gcc-10.2.0-2020.12.8-x86_64-apple-darwin/riscv64-unknown-elf --with-native-system-header-dir=/include --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libgomp --disable-nls --disable-tm-clone-registry --src=../riscv-gcc --with-system-zlib --enable-checking=yes --enable-multilib --with-abi=lp64d --with-arch=rv64imafdc CFLAGS=-O2 CXXFLAGS=-O2 'CFLAGS_FOR_TARGET=-Os -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-Os -mcmodel=medany' Thread model: single Supported LTO compression algorithms: zlib gcc version 10.2.0 (SiFive GCC-Metal 10.2.0-2020.12.8) = Star64 Configuration + ./tools/configure.sh star64:nsh = Star64 Size + riscv64-unknown-elf-size nuttx text databssdechex filename 168996641 23984 193621 2f455 nuttx = Star64 NSH Info and Free NuttShell (NSH) NuttX-12.3.0 nsh> uname -a NuttX 12.3.0 1d349a2a32 Oct 9 2023 17:08:13 risc-v star64 nsh> free total used freelargest nused nfree Kmem:2065400 1460020508002049440 50 3 Page: 20971520 643072 20328448 20328448 PinePhone Release Script: https://gist.github.com/lupyuen/fbc2d0b7fb5dfbc62b4f9b3aae8626ea PinePhone Release Log: https://gist.github.com/lupyuen/1c3f1f1d71993609bed3b31767595beb Star64 Release Script: https://gist.github.com/lupyuen/f19eb54140a1d09811d42ed143810b36 Star64 Release Log: https://gist.github.com/lupyuen/0ea8f3ac61e07d8b6e308e31ed5f7734 Lup On Mon, Oct 9, 2023 at 3:27 PM Alin Jerpelea wrote: > Hello all, > Apache NuttX 12.3.0 RC0 has been staged under [1] and it's > time to vote on accepting it for release. Voting will be open for 72hr. > > A minimum of 3 binding +1 votes and more binding +1 than binding -1 are > required to
[Article] NuttX on Star64 JH7110: Inside the Display Controller
We’re building a HDMI Display Driver for NuttX on Star64 SBC, but the JH7110 Display Controller isn't documented! In this article, we decipher the Official Driver for JH7110 Display Controller and figure out how it works... (1) What’s inside the Direct Rendering Manager (DRM) Driver for JH7110 (2) How it controls the Display Registers (3) To handle the Display Pipeline, Display Planes and Framebuffers (4) And how it talks to HDMI and MIPI DSI (Display Serial Interface) (5) How we might implement our NuttX Driver Here's the article: https://lupyuen.codeberg.page/articles/display2.html Lup
Article: NuttX Touch Panel Driver for PineDio Stack BL604
PineDio Stack BL604 is Pine64's newest RISC-V Board and it ships with a Colour LCD Touchscreen. This article explains how I created the driver for the Hynitron CST816S I2C Touch Panel... https://lupyuen.github.io/articles/touch Lup
Article: PineDio Stack BL604 runs NuttX
Pine64 will soon be selling the PineDio Stack BL604 RISC-V board with ST7789 Display, Touch Panel, LoRa SX1262 and a bunch of I2C sensors onboard. This article describes the NuttX features that will be supported on PineDio Stack at launch... https://lupyuen.github.io/articles/pinedio2 Lup
Article: Buttons on BL602 NuttX
Robert Lipe and I are working on Pine64's PineDio Stack BL604 RISC-V board and adding NuttX support for the Push Button. In this article, Robert explains the interesting things that we've learnt... https://www.robertlipe.com/buttons-on-bl602-nuttx/ Lup
Article: Zig on RISC-V BL602
This article explains how I ran a simple Zig app on BL602 NuttX: https://lupyuen.github.io/articles/zig Lup
Article: Build an LVGL Touchscreen App with Zig
This article explains how I used Zig to write an LVGL application for NuttX: https://lupyuen.github.io/articles/lvgl Lup
Article: Build an IoT App with Zig and LoRaWAN
This article explains how I created a LoRaWAN App with Zig and NuttX: https://lupyuen.github.io/articles/iot Lup
Article: Automated Testing of NuttX on PineDio Stack BL604
This article explains how we do Automated Testing of every NuttX Release for PineDio Stack BL604 RISC-V Board... https://lupyuen.github.io/articles/auto2 Lup
Article: Read NuttX Sensor Data with Zig
This article explains the steps to read a NuttX Sensor with the new-ish Zig programming language... https://lupyuen.github.io/articles/sensor Lup
Article: GPIO Expander for PineDio Stack BL604
This article explains how I created an I/O Expander to manage all 23 GPIOs on PineDio Stack BL604 RISC-V Board: https://lupyuen.github.io/articles/expander Lup
Article: NuttX on Arm Cortex-A53 and PinePhone
NuttX now supports 64-bit Arm Cortex-A53 with Multi-Core SMP... Will it run on Pine64's PinePhone? This article explores how we might run NuttX on a real phone... https://lupyuen.github.io/articles/arm Lup
Re: Article: NuttX on Arm Cortex-A53 and PinePhone
Thank you so much Nathan! Yes it would be super interesting to see NuttX on Pi, I hope to run it someday :-) Lup On Fri, Aug 26, 2022 at 7:51 AM Nathan Hartman wrote: > On Wed, Aug 24, 2022 at 8:05 PM Lee, Lup Yuen wrote: > > > > NuttX now supports 64-bit Arm Cortex-A53 with Multi-Core SMP... Will it > run > > on Pine64's PinePhone? This article explores how we might run NuttX on a > > real phone... > > > > https://lupyuen.github.io/articles/arm > > > Thank you for this article! That is very cool! > > Personally I hope to see NuttX running on Raspberry Pi 4 devices one > of these days. > > Currently a project I'm working on is using a lightweight Linux distro > on these devices, but despite being lightweight in comparison to > desktop Linux, is still orders of magnitude larger and more complex > than NuttX would be. > > Also, although there are realtime extensions available for Linux, > after quite a lot of work I have still not succeeded to build a usable > kernel for these devices which includes those extensions. > > NuttX is real-time by definition and would be much simpler, much more > efficient, much less bloated, and much easier to work with, at least > for the applications I'm concerned with. > > Based on my reading of the above article, perhaps NuttX booting on > these devices isn't too far-fetched today, even if we'll be missing > many device drivers for the time being. > > Great work! Kudos for the well-written article, and thanks for sharing! > > Cheers, > Nathan >
Article: PinePhone boots NuttX
NuttX now boots on Pine64's PinePhone! (Arm Cortex-A53) This article explains the changes that I made... https://lupyuen.github.io/articles/uboot Lup
Article: NuttX on PinePhone: Fixing the Interrupts
NuttX on Pine64's PinePhone had some issues with Arm64 Interrupts. This article explains how I fixed them, also how I ported NuttX's GIC v2 from Arm32 to Arm64. (Generic Interrupt Controller) https://lupyuen.github.io/articles/interrupt Lup
Re: Article: PinePhone boots NuttX
Thanks :-) Right now PinePhone is failing at the interrupt controller (Arm GIC), I'm finding out why... Lup On Sun, Aug 28, 2022 at 2:16 AM Alin Jerpelea wrote: > Nice! > > On Sat, 27 Aug 2022, 19:06 Tomek CEDRO, wrote: > > > wow! respect!! :-) > > > > -- > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > On Sat, Aug 27, 2022, 13:25 Lee, Lup Yuen wrote: > > > > > NuttX now boots on Pine64's PinePhone! (Arm Cortex-A53) This article > > > explains the changes that I made... > > > > > > https://lupyuen.github.io/articles/uboot > > > > > > Lup > > > > > >
Re: Pine64 / Drivers / Linux
Hi Tomek: Thanks for sharing, I have been following the Pine64 Community, indeed these are interesting developments. At the NuttX Online Workshop I was delighted to hear that NuttX on 64-bit RISC-V has advanced so far. Perhaps after porting NuttX to PinePhone, I should try porting NuttX to STAR64 RISC-V Board :-) Lup On Tue, Sep 27, 2022 at 8:25 AM Tomek CEDRO wrote: > A bit offtopic but I found this interesting article from one of the > Pine64 Linux Community Developers.. and I think it may be interesting > in the context of porting NuttX to Pine64 devices :-) > > https://blog.brixit.nl/why-i-left-pine64/ > > Quite interesting as I am waiting for the 2022Q4 release of "desktop > class" (OSHW rPI alternative) STAR64 board to work with on FreeBSD :-) > > https://wiki.pine64.org/wiki/STAR64 > > Here, in terms of kernel API stability and only one "OS as the > distribution", both NuttX and FreeBSD may have clear advantage over > Linux :-) > > I also have this feeling that only Open-Source-Software-AND-Hardware > will be worth investing time in the long term, thus my focus on the > RISC-V :-) > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
Article: NuttX for PinePhone: Display Driver in Zig
Inside Pine64's PinePhone (Arm64) is an Sitronix ST7703 LCD Controller that talks over MIPI Display Serial Interface. This article explains how we created a Quick Prototype of the PinePhone Display Driver with the Zig Programming Language... https://lupyuen.github.io/articles/dsi2 Lup
Re: [VOTE] Apache NuttX Community Graduation
+1: Apache NuttX is ready to graduate to TLP. Yay! On Fri, Oct 21, 2022 at 8:47 PM Nathan Hartman wrote: > Dear Apache NuttX Community, > > Following the [DISCUSS] thread which has gone 72 hours without any > further issues raised [1]: > > This is a call to VOTE on Graduation of Apache NuttX from the > Incubator to Top-Level Project (TLP). > > Please vote: > > [ ] +1: Apache NuttX is ready to graduate to TLP > [ ] 0: No opinion > [ ] -1: Apache NuttX is NOT ready to graduate; please state reason(s) > > If this community vote passes, we will proceed to the next steps. The > graduation process is documented at [2]. The vote will remain open for > at least 72 hours. A minimum of 3 binding +1 votes and more binding +1 > than binding -1 are required to pass. The ASF requirements for voting > can be found at [3]. > > Project Highlights Since Incubation: > * Incubating since 2019-12-09 > * Website migrated to nuttx.apache.org > * Shipped 9 releases under the ASF Incubator > * Merged 8000 PRs across incubator-nuttx and incubator-nuttx-apps > * More than 1000 stars on GitHub > * More than 500 forks on GitHub > * More than 250 subscribers to dev@nuttx.apache.org > * In Top 10 Apache projects of 2021 by number of commits [4] > * 5 mentors > * 18 PPMC members > * 26 committers > * 75 ICLAs > * 2 CCLAs > * 21 SGAs > * 2 release managers > * 3 NuttX online workshops > * And much, much more > > Let me express a big ***THANK YOU*** to everyone for helping make this > possible! > > [1] https://lists.apache.org/thread/vpj21ofyxmjs528n3b9s72wozh9hjz8f > > [2] > https://incubator.apache.org/guides/graduation.html#graduating_to_a_top_level_project > > [3] https://www.apache.org/foundation/voting.html > > [4] > https://thestack.technology/top-apache-projects-in-2021-from-superset-to-nuttx/ > > Cheers, > Nathan Hartman >
Article: Rendering PinePhone's Display (DE and TCON0)
Inside Pine64's PinePhone (Arm64) is the Allwinner A64 SoC and its A64 Display Engine that renders graphics on the LCD Display. This article explains how we might build a NuttX Display Driver for PinePhone's A64 Display Engine. https://lupyuen.github.io/articles/de Lup
Re: Article: Rendering PinePhone's Display (DE and TCON0)
Thank you so much Alan! PinePhone has always been a super complicated and mysterious gadget, I'm so glad that we can now use NuttX to explain everything inside PinePhone :-) Lup On Sun, Oct 30, 2022 at 6:55 PM Alan C. Assis wrote: > Thank you very much Professor Lup! > > Your articles are always very detailed and easy to understand, you are > a great teacher! > > BR, > > Alan > > On 10/29/22, Lee, Lup Yuen wrote: > > Inside Pine64's PinePhone (Arm64) is the Allwinner A64 SoC and its A64 > > Display Engine that renders graphics on the LCD Display. > > > > This article explains how we might build a NuttX Display Driver for > > PinePhone's A64 Display Engine. > > > > https://lupyuen.github.io/articles/de > > > > Lup > > >
Article: NuttX for PinePhone: Blinking the LEDs
This article explains how we run the BASIC Interpreter on NuttX, to experiment with the LEDs and GPIOs on Pine64's PinePhone... https://lupyuen.github.io/articles/pio Lup
Article: NuttX for PinePhone: UART Driver
PinePhone now boots to NSH Shell, and runs NuttX Commands perfectly OK! This article explains how we created the UART Driver for PinePhone... https://lupyuen.github.io/articles/serial Lup
Article: Understanding PinePhone's Display (MIPI DSI)
This article explains what's inside PinePhone's LCD Display (MIPI Display Serial Interface), and how we might build a NuttX Driver for PinePhone's ST7703 LCD Controller... https://lupyuen.github.io/articles/dsi Lup
Re: Article: Visual Programming with NuttX
Hi Alan: Yes I would be delighted to talk about Visual Programming with Zig and NuttX Sensors at the NuttX Workshop. I'll submit the proposal now, thanks! :-) Lup On Sun, Aug 7, 2022 at 8:20 PM Alan Carvalho de Assis wrote: > WOW! Very nice Lup! > > That could be old hot topic to present at NuttX Workshop if you still have > more stamina to do so! :-) > > BR, > > Alan > > On Saturday, August 6, 2022, Lee, Lup Yuen wrote: > > > This article explains how we might drag-and-drop NuttX Sensors to create > > IoT Sensor Apps... > > > > https://lupyuen.github.io/articles/blockly > > > > Lup > > >
Article: Visual Programming with Zig and NuttX Sensors
What if we could drag-and-drop NuttX Sensors to create IoT Apps? This article explains how... https://lupyuen.github.io/articles/visual Thanks to Alan C. Assis for the brilliant idea on "Visual Arduino"! Lup
Article: Visual Programming with NuttX
This article explains how we might drag-and-drop NuttX Sensors to create IoT Sensor Apps... https://lupyuen.github.io/articles/blockly Lup
Article: NuttX for PinePhone: Display Engine
NuttX Mainline now supports the Display Engine for Allwinner A64 SoC (Arm64). Many thanks to my patient reviewers for wading through a thousand lines of code :-) This article explains how the A64 Display Engine will be called by the upcoming LCD Driver for Pine64 PinePhone... https://lupyuen.github.io/articles/de3 Lup
Re: Article: NuttX for PinePhone: Display Engine
Thanks everyone! The article landed on the front page of Hacker News, there's a discussion about NuttX: https://news.ycombinator.com/item?id=34100614 Lup On Fri, Dec 23, 2022 at 8:35 AM Alan C. Assis wrote: > We all that need to talk you, not only for that driver, but also for > these amazing documentation! > > Thank you Lup! > > On 12/22/22, Lee, Lup Yuen wrote: > > NuttX Mainline now supports the Display Engine for Allwinner A64 SoC > > (Arm64). Many thanks to my patient reviewers for wading through a > thousand > > lines of code :-) > > > > This article explains how the A64 Display Engine will be called by the > > upcoming LCD Driver for Pine64 PinePhone... > > > > https://lupyuen.github.io/articles/de3 > > > > Lup > > >
Re: Article: NuttX for PinePhone: LCD Panel
Yep we should show our own logo! Anyone got an SVG file? I'll turn it into the Startup Image for PinePhone :-) Lup On Wed, Dec 28, 2022 at 9:21 AM Nathan Hartman wrote: > On Tue, Dec 27, 2022 at 8:06 PM Alan C. Assis wrote: > > > Very nice Lup! Kudos!!! > > > > I think we need a drivers/video/logo/ like the Linux kernel to display > > the NuttX logo. > > > > > That's a fantastic idea! Shown by default on all video-enabled devices > unless user provides their own. > > Cheers, > Nathan >
Article: NuttX for PinePhone: LCD Panel
NuttX Mainline now boots with a Test Pattern on Pine64 PinePhone! (Arm64 / Allwinner A64 SoC) This article explains what's inside our new NuttX Driver for PinePhone's LCD Panel... https://lupyuen.github.io/articles/lcd Lup
Article: NuttX for PinePhone: Framebuffer
LVGL now renders OK on Pine64 PinePhone with NuttX Mainline! (No Touch Input yet though) This article explains what's inside our new Framebuffer Driver for PinePhone, plus a mysterious problem of missing pixels... https://lupyuen.github.io/articles/fb The article was "leaked" earlier to Hacker News, we have some helpful comments on the missing pixels... https://news.ycombinator.com/item?id=34186806 Lup
Article: NuttX for PinePhone: What is it?
People often ask why we're porting NuttX to Pine64 PinePhone (Arm64 / Allwinner A64 SoC). So I wrote an FAQ about NuttX for PinePhone. Have an Awesome 2023 everyone! :-) https://lupyuen.github.io/articles/what Lup
Re: Article: NuttX for PinePhone: Touch Panel
Yep the NuttX Driver is actually designed for Goodix GT911. But it works great with PinePhone's GT917S :-) We're merging the Goodix GT9XX driver to NuttX Mainline now: https://github.com/apache/nuttx/pull/8101 Lup On Fri, Jan 13, 2023 at 7:41 AM Bernd Walter wrote: > On Fri, Jan 13, 2023 at 07:12:37AM +0800, Lee, Lup Yuen wrote: > > PinePhone on NuttX will soon support LVGL Touchscreen Apps! This article > > explains how we created the NuttX Driver for PinePhone's I2C Touch > Panel... > > > > https://lupyuen.github.io/articles/touch2 > > Wow - this is quite interesting. > There are quite a few touchpanel using GT911 controllers and so far > there is no NuttX-driver for that chip. > I don't know the GT917 and how similar it is, but I imagine they have > a lot in common and you even mention the GT911 in that article. > > -- > B.Walter https://www.bwct.de > Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm. >
Article: NuttX for PinePhone: Touch Panel
PinePhone on NuttX will soon support LVGL Touchscreen Apps! This article explains how we created the NuttX Driver for PinePhone's I2C Touch Panel... https://lupyuen.github.io/articles/touch2 Lup
Article: NuttX for PinePhone: MIPI Display Serial Interface
NuttX Mainline now supports MIPI DSI (Display Serial Interface) on Pine64 PinePhone! (Allwinner A64 SoC) This article explains how MIPI DSI will be called by the upcoming PinePhone Display Driver... https://lupyuen.github.io/articles/dsi3 Lup
Re: Article: NuttX RTOS for PinePhone: Render Graphics in Zig
Thanks everyone! It's time for me to merge the PinePhone code into NuttX Mainline :-) On Tue, Nov 15, 2022 at 9:21 PM alin.jerpe...@sony.com < alin.jerpe...@sony.com> wrote: > NICE! > > > -Original Message- > From: Tomek CEDRO > Sent: den 15 november 2022 14:18 > To: dev@nuttx.apache.org > Subject: Re: Article: NuttX RTOS for PinePhone: Render Graphics in Zig > > CONGRATZ! :-) > > -- > CeDeROM, SQ7MHZ, > https://urldefense.com/v3/__http://www.tomek.cedro.info__;!!JmoZiZGBv3RvKRSx!7DpXb6g0WSb3fJwyPE1svv9Fqc4z9Y8fCGPJoHURahXPSK06X_Vj99tzpIhuPkZw-WaROCwlXuiRc5S8YQ$ >
PinePhone added to NuttX Mainline
Pine64 PinePhone is now supported by NuttX Mainline! If you have a PinePhone (and PinePhone Serial Debug Cable), you're welcome to try NuttX on PinePhone... https://github.com/apache/nuttx/blob/master/Documentation/platforms/arm/a64/boards/pinephone/index.rst Please lemme know if you see any issues. Thanks! :-) Let's make NuttX the fun new way to teach the internals of Smartphone Operating Systems! Lup
Article: Preparing a Pull Request for NuttX
This article explains how I prepared my Pull Requests for NuttX. I hope this will be helpful for folks contributing to NuttX for the very first time :-) https://lupyuen.github.io/articles/pr Lup
Re: Article: Preparing a Pull Request for NuttX
Thanks everyone! Yep I think we can add some parts into the official docs, minus the fishy jokes :-) Lup On Mon, Nov 28, 2022 at 8:51 PM Alan C. Assis wrote: > Kudos Lup! > > Maybe we could mix it with our current documentation to create a better > doc. > > BR, > > Alan > > On 11/28/22, Lee, Lup Yuen wrote: > > This article explains how I prepared my Pull Requests for NuttX. I hope > > this will be helpful for folks contributing to NuttX for the very first > > time :-) > > > > https://lupyuen.github.io/articles/pr > > > > Lup > > >
Article: NuttX trips ChatGPT
ChatGPT (the AI chatbot) will gladly answer questions about NuttX! But the answers aren't always correct. Let's turn this into a learning opportunity, and understand why ChatGPT's answers are incorrect... https://lupyuen.github.io/articles/chatgpt Lup
Article: NuttX for PinePhone: Boot to LVGL
NuttX now boots with an LVGL Touchscreen App on PinePhone! (Without a Serial Cable) This article explains how we configured NuttX to boot LVGL, and how we tweaked LVGL to be more Touch-Friendly on PinePhone... https://lupyuen.github.io/articles/lvgl2 Lup
Article: NuttX RTOS for PinePhone: Render Graphics in Zig
Inside Pine64's PinePhone (Arm64) is the Allwinner A64 Display Engine that renders graphics on the LCD Display. This article explains how we're building a NuttX Driver for the A64 Display Engine, using the Zig Programming Language... https://lupyuen.github.io/articles/de2 Lup
Article: NuttX for PinePhone: LVGL Terminal for NSH Shell
Now we can run NuttX Console Apps on PinePhone, without a Serial Cable! This article explains how we call the LVGL GUI Library to create a Touchscreen Terminal App that runs NSH Commands... https://lupyuen.github.io/articles/terminal Lup
Article: NuttX for PinePhone: Simpler USB with EHCI
Weeks ago we talked about porting NuttX to PinePhone, and how we might turn it into a Feature Phone. But to make phone calls and send text messages, we need to control the LTE Modem over USB. Thus today we’ll build a USB Driver for NuttX on PinePhone… 1. What’s USB Enhanced Host Controller Interface (EHCI) 2. Why it’s simpler than USB On-The-Go (OTG) 3. How we ported the USB EHCI Driver from NuttX to PinePhone 4. Handling USB Clocks and USB Resets on PinePhone (with tips from U-Boot Bootloader) 5. And the NuttX EHCI Driver boots OK on PinePhone! https://lupyuen.github.io/articles/usb3 Lup
Article: (Clickable) Call Graph for NuttX on PinePhone
Last week we ran NuttX on Unicorn Emulator and we hit a baffling Arm64 Exception. In this article we’ll create some tools to troubleshoot the exception… 1. Render the Dynamic Call Graph for NuttX, to understand how it boots 2. Make it Clickable, so we can browse the NuttX Source Code as we explore the Call Graph 3. We’ll use a Block Execution Hook in Unicorn Emulator to generate the Call Graph with Rust 4. And call the Rust Libraries addr2line and gimli to map the Code Addresses to NuttX Kernel Functions 5. Thanks to the (Clickable) Call Graph, we’ll describe the complete Boot Sequence of NuttX on PinePhone 6. And explain how we might do Automated Daily Build and Test for NuttX on PinePhone https://lupyuen.github.io/articles/unicorn2 Lup
Article: NuttX for PinePhone: Exploring USB
We're about to turn PinePhone on NuttX into a Feature Phone... But to talk to PinePhone's LTE Modem, we need a NuttX Driver for Allwinner A64 USB Controller. In this article we’ll dive into PinePhone’s USB Controller… 1. Why PinePhone needs USB for Voice Calls and SMS 2. What’s inside PinePhone’s Allwinner A64 USB Controller 3. Which is actually a Mentor Graphics Inventra USB Controller 4. We’ll study the FreeBSD Driver for the USB Controller 5. And how we might port the USB Driver to NuttX 6. By comparing with the STM32 USB Driver for NuttX https://lupyuen.github.io/articles/usb2 Lup
Article: Emulate NuttX on PinePhone with Unicorn Emulator
Unicorn is a lightweight CPU Emulator Framework based on QEMU. To make PinePhone testing easier, can we emulate NuttX on PinePhone with Unicorn Emulator? In this article we’ll call Unicorn Emulator to… 1. Emulate Arm64 Machine Code 2. Attach Hooks to intercept Memory Access and Code Execution 3. Boot NuttX in the emulator 4. Simulate the UART Controller for PinePhone 5. Track an Exception in Arm64 Memory Management https://lupyuen.github.io/articles/unicorn Lup
Re: MCU/Board with WiFi, BT and USB Host
That's correct, NuttX on PinePhone doesn't support WiFi and BT yet. We're still working on USB Host for PinePhone: https://lupyuen.github.io/articles/usb3 Lup On Thu, Apr 20, 2023 at 11:07 PM Alan C. Assis wrote: > Hi Mr. Zou, > > PinePhone is a nice idea, but I'm afraid that WiFi is not supported yet > too. > > Mr. Lup, could you please confirm/deny my suspect? > > BR, > > Alan > > On 4/20/23, fft wrote: > > I think PinePhone is a great choice > > > > > > > > --Original-- > > From: "PetroKarashchenko" > Date: Thu, Apr 20, 2023 09:25 PM > > To: "dev" > > > Subject: MCU/Board with WiFi, BT and USB Host > > > > > > > > Hello, > > > > I'm looking for an MCU or better a development board that has WiFi, BT > and > > USB host capabilities. Can anybody give me advice for that? I need to > > connect a CDC ACM device to that USB, so maybe there are some > alternatives > > that can be used (there is a device that exposes its functionality via > USB > > to serial), so I need to communicate with that from my device. > > If that MCU is supported by NuttX then it would be super fantastic! > > > > Best regards, > > Petro >
Re: How ro re-trigger CI workflow?
Hi Zou: Usually I rebase my branch with the Master Branch to re-trigger the CI Workflow... https://lupyuen.github.io/articles/pr#submit-the-pull-request Hope this helps :-) Lup On Sat, Apr 22, 2023 at 4:25 PM fft wrote: > Hello, > > > Two weeks ago, i created a PR #8999 to fix an issue of mpu60x0 drivers in > SPI mode, but the PR was hanged due to nuttx's CI broken. it seems that the > nuttx's CI was fixed by #9036 recently, but i don't know how to re-trigger > CI workflow of PR #8999, I checked Github webpage, there's no button to > re-trigger CI workflow, I searched online and there no answer as well. > anyone who can give me some suggestion? > > > > Best regards, > Zou
Article: NuttX for PinePhone: 4G LTE Modem
Right now we’re building a Feature Phone with NuttX on PinePhone. To make things simpler, we’re writing down everything we know about the 4G LTE Modem, and how it works inside PinePhone… 1. What’s the Quectel EG25-G LTE Modem 2. How it’s connected inside PinePhone 3. How we make Phone Calls and send Text Messages 4. How we power up the LTE Modem 5. Programming the LTE Modem with UART, USB and NuttX Read on to learn all about PinePhone’s 4G LTE Modem… https://lupyuen.github.io/articles/lte Lup
Re: [VOTE] Apache NuttX 12.1.0 RC0 release
+1 for PinePhone = Compiler + aarch64-none-elf-gcc -v Using built-in specs. COLLECT_GCC=aarch64-none-elf-gcc COLLECT_LTO_WRAPPER=/Applications/ArmGNUToolchain/11.3.rel1/aarch64-none-elf/bin/../libexec/gcc/aarch64-none-elf/11.3.1/lto-wrapper Target: aarch64-none-elf Configured with: /Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=aarch64-none-elf --prefix=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install --with-gmp=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpfr=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpc=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-isl=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-gnu-ld --with-sysroot=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install/aarch64-none-elf --with-pkgversion='Arm GNU Toolchain 11.3.Rel1' --with-bugurl= https://bugs.linaro.org/ Thread model: single Supported LTO compression algorithms: zlib gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1) = Configuration + ./tools/configure.sh pinephone:nsh = Size + aarch64-none-elf-size nuttx text databssdechex filename 218576 12897 41575 273048 42a98 nuttx = NSH Info and Free NuttShell (NSH) NuttX-12.1.0 nsh> name -a NuttX 12.1.0 d40f4032fc Apr 12 2023 07:11:20 arm64 pinephone nsh> free total used freelargest nused nfree Umem: 133414240 550768 132863472 132863376 56 2 Complete Log: https://gist.github.com/lupyuen/5760e0375d44a06b3c730a10614e4d24 Validation Script: https://gist.github.com/lupyuen/a08d3d478beefc5a492ed2dae39438f3 Lup On Tue, Apr 11, 2023 at 4:52 PM Alin Jerpelea wrote: > Hello all, > Apache NuttX 12.1.0 RC0 has been staged under [1] and it's > time to vote on accepting it for release. Voting will be open for 72hr. > > A minimum of 3 binding +1 votes and more binding +1 than binding -1 are > required to pass. > > The Apache requirements for approving a release can be found here [3] > "Before voting +1 [P]PMC members are required to download the signed > source code package, compile it as provided, and test the resulting > executable on their own platform, along with also verifying that the > package meets the requirements of the ASF policy on releases." > > A document to walk through some of this process has been published on > our project wiki and can be found here [4]. > > [ ] +1 accept (indicate what you validated - e.g. performed the non-RM > items in [4]) > [ ] -1 reject (explanation required) > > Thank you all, > Alin Jerpelea > > SCM Information: > Release tag: nuttx-12.1.0-RC0 > Hash for the release nuttx tag: d40f4032fc5491d2aeb9fde37042a5be9eabeb15 > Hash for the release nuttx-apps tag: > 125cf7abe2d7f345c3bc58c0bdea2360fdefa170 > > [1] https://dist.apache.org/repos/dist/dev/nuttx/12.1.0-RC0/ > [2] > https://raw.githubusercontent.com/apache/nuttx/nuttx-12.1.0-RC0/ReleaseNotes > [3] https://www.apache.org/dev/release.html#approving-a-release > [4] > https://cwiki.apache.org/confluence/display/NUTTX/Validating+a+staged+Release >
Re: Video: NuttX for PinePhone
Thanks Tomek! The video was shot in 4K on a Pixel 7 phone (the non-pro version). The post-processing (colour grading) really helps to improve the contrast and bring out the colours. The "Subscribe" button appears on my computer, lemme figure out why it's not showing on yours :-) Lup On Wed, Feb 8, 2023 at 8:26 AM Tomek CEDRO wrote: > On Wed, Feb 8, 2023 at 1:10 AM Lee, Lup Yuen wrote: > > If we're curious how we download and boot NuttX on PinePhone, this video > > explains the steps... > > > > Watch on YouTube: https://youtu.be/kGI_0yK1vws > > Nice video Lup! What camera do you use? Very nice sharp and colorful > picture :-) > > I also noticed that there is no SUBSCRIBE button on your channel?? Is > it on purpose?? Here is the screenshot: https://ibb.co/WsYxNvj > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
Video: NuttX for PinePhone
If we're curious how we download and boot NuttX on PinePhone, this video explains the steps... Watch on YouTube: https://youtu.be/kGI_0yK1vws Download the video (1.4 GB): https://github.com/lupyuen2/wip-pinephone-nuttx/releases/tag/nuttx-12.0.3 (Sorry some bits look murky, this is my first time shooting in 4K) Lup
Re: Article: NuttX for PinePhone: LVGL Terminal for NSH Shell
Thanks Alan! Handling keypresses directly in the LVGL Terminal text box might get complicated, lemme think about it. Right now the app waits for the Enter Key and sends the entire command to NSH, which is a lot easier. LVGL Terminal was inspired by nxterm, so yep I must try nxterm soon :-) Lup On Thu, Feb 2, 2023 at 8:28 PM Alan C. Assis wrote: > Hi Lup, > > Very nice article! Kudos!!! > > Is it possible to modify the demo to type direclty inside the "LVGL > terminal" screen? > > Did you test PinePhone nxterm too? > > BR, > > Alan > > On 2/2/23, Lee, Lup Yuen wrote: > > Now we can run NuttX Console Apps on PinePhone, without a Serial Cable! > > > > This article explains how we call the LVGL GUI Library to create a > > Touchscreen Terminal App that runs NSH Commands... > > > > https://lupyuen.github.io/articles/terminal > > > > Lup > > >
Re: Article: NuttX for PinePhone: Phone Calls and Text Messages
Thanks Alan! Yep an LVGL GUI for Feature Phone will be super helpful for testing Phone Calls and SMS Messages on PinePhone. First I need to figure out how to parse AT Command Responses reliably on NuttX :-) https://lupyuen.github.io/articles/lte2#at-modem-api Lup On Wed, May 3, 2023 at 8:08 PM Alan C. Assis wrote: > Hi Lup, > > Very nice! > > Are you planing to create FeaturePhone interface for PinePhone? > > BR, > > Alan > > On 5/3/23, Lee, Lup Yuen wrote: > > What makes PinePhone a phone? Because it will make Phone Calls and send > > Text Messages! Today we turn NuttX on PinePhone into a Feature Phone… > > > > 1. Outgoing and Incoming Phone Calls over 4G > > > > 2. Send and receive SMS Text Messages > > > > 3. Why we prefer Encoded PDU Messages for SMS > > > > 4. Programming the 4G LTE Modem with NuttX > > > > 5. Doing all these over UART vs USB > > > > 6. Upcoming AT Modem API for robust parsing, graceful timeout (plus > retry) > > and notification callbacks > > > > Read about it here... > > > > https://lupyuen.github.io/articles/lte2 > > > > Lup > > >
Re: [VOTE] Apache NuttX 12.2.1 RC0 release
+1 for PinePhone = Compiler + aarch64-none-elf-gcc -v Using built-in specs. COLLECT_GCC=aarch64-none-elf-gcc COLLECT_LTO_WRAPPER=/Applications/ArmGNUToolchain/11.3.rel1/aarch64-none-elf/bin/../libexec/gcc/aarch64-none-elf/11.3.1/lto-wrapper Target: aarch64-none-elf Configured with: /Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=aarch64-none-elf --prefix=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install --with-gmp=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpfr=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpc=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-isl=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-gnu-ld --with-sysroot=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install/aarch64-none-elf --with-pkgversion='Arm GNU Toolchain 11.3.Rel1' --with-bugurl= https://bugs.linaro.org/ Thread model: single Supported LTO compression algorithms: zlib gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1) = Configuration + ./tools/configure.sh pinephone:nsh = Size + aarch64-none-elf-size nuttx text databssdechex filename 221404 12921 41615 275940 435e4 nuttx = NSH Info and Free NuttShell (NSH) NuttX-12.2.1 nsh> uname -a NuttX 12.2.1 148c631a2d Jul 11 2023 09:07:11 arm64 pinephone nsh> free total used freelargest nused nfree Umem: 133410808 551480 132859328 132859232 58 2 Complete Log: https://gist.github.com/lupyuen/8ffc4633da0d5a22885e1ab51753f1f9 Validation Script: https://gist.github.com/lupyuen/78238b05b94f3140a83ae187f6df4c98 Lup On Mon, Jul 10, 2023 at 10:46 PM Alin Jerpelea wrote: > Hello all, > > Apache NuttX 12.2.1 RC0 has been staged under [1] and it's time to vote on > accepting it for release. Voting will be open for 72hr. > > > > A minimum of 3 binding +1 votes and more binding +1 than binding -1 are > required to pass. > > > > The Apache requirements for approving a release can be found here [3] > "Before voting +1 [P]PMC members are required to download the signed source > code package, compile it as provided, and test the resulting executable on > their own platform, along with also verifying that the package meets the > requirements of the ASF policy on releases." > > > > A document to walk through some of this process has been published on our > project wiki and can be found here [4]. > > > > [ ] +1 accept (indicate what you validated - e.g. performed the non-RM > items in [4]) > > [ ] -1 reject (explanation required) > > > > Thank you all, > > Alin Jerpelea > > > > SCM Information: > > Release tag: nuttx-12.2.1-RC0 > > Hash for the release nuttx tag: 148c631a2d252d4d59ae4cd90d1890d2daed381d > > Hash for the release nuttx-apps tag: > 86efbcbee77bc0a29af07807080f4804a37f46a3 > > > [1] https://dist.apache.org/repos/dist/dev/nuttx/12.2.1-RC0/ > [2] > https://raw.githubusercontent.com/apache/nuttx/nuttx-12.2.1-RC0/ReleaseNotes > [3] https://www.apache.org/dev/release.html#approving-a-release > [4] > https://cwiki.apache.org/confluence/display/NUTTX/Validating+a+staged+Release >
[Article] NuttX on RISC-V: Star64 JH7110 SBC
In this article we’ll boot a tiny bit of NuttX on the Pine64 Star64 64-bit RISC-V Single-Board Computer. (Based on StarFive JH7110 SoC) (1) Migrate NuttX from QEMU Emulator to Star64 (2) Print to the Serial Console in RISC-V Assembly (3) Trick U-Boot Bootloader into thinking we’re Linux (4) Downgrade from Machine to Supervisor Privilege Level (5) Helped by OpenSBI Supervisor Interface Check out the article: https://lupyuen.codeberg.page/articles/nuttx2.html Lup
[Article] Boot NuttX from Network with U-Boot and TFTP
Testing NuttX can get painfully tedious on a Single-Board Computer... Swapping, reflashing and rebooting a MicroSD Card, again and again and again! (Like how we tested NuttX on PinePhone) Thankfully there’s a better way: Booting NuttX over the Local Network, with U-Boot Bootloader and TFTP! In this article we’ll configure TFTP Network Boot for testing NuttX on the new Star64 JH7110 RISC-V SBC... https://lupyuen.codeberg.page/articles/tftp.html Lup
Re: adding a new board - files?
Hi Krasimir: I wrote an article about submitting a NuttX Pull Request on GitHub, I hope this helps :-) https://lupyuen.codeberg.page/articles/pr.html Lup On Tue, Jul 18, 2023 at 6:44 PM Krasimir Cheshmedzhiev < cheshmedzh...@gmail.com> wrote: > Hi all, > > I added the support of nucleo-u5a5zj-q > I made steps described in > https://nuttx.apache.org/docs/latest/contributing/index.html > > There is a button on the branch page who says "Compare & pull request" > Do I need to push it? > or > Do I need to do any additional steps? > > Sory for dumb questions but I have never used git. > > Best regards > > -Original Message- > From: Alan C. Assis > Sent: Monday, July 10, 2023 9:24 PM > To: dev@nuttx.apache.org > Subject: Re: adding a new board - files? > > Hi Krasimir, > > On 7/10/23, Krasimir Cheshmedzhiev wrote: > > Hi all, > > > > > > > > I am working on adding a nucleo-u5a5zj-q to nuttx supported boards. > > How (where I can read) to prepare files - those which I created and > > those which I changed, to make them part of main source tree? > > > > Please follow the contribution steps: > > https://nuttx.apache.org/docs/latest/contributing/index.html > > Any issue, please let us to know. > > BR, > > Alan > >
[Article] NuttX on Star64 JH7110: RISC-V Privilege Levels and UART Registers
We’re in the super-early stage of porting NuttX to the Pine64 Star64 64-bit RISC-V SBC. (Based on StarFive JH7110 SoC) In this article we’ll talk about the interesting things that we learnt about RISC-V and Star64 JH7110… (1) What are RISC-V Privilege Levels (And why they make NuttX a little more complicated) (2) What is NuttX Kernel Mode (And how it differs from Flat Mode) (3) All about JH7110’s UART Registers (And how they are different from other 16550 UARTs) (4) Why (naively) porting NuttX from QEMU to Star64 might become really challenging! (Thankfully we have the LiteX Arty-A7 and PolarFire Icicle ports) https://lupyuen.codeberg.page/articles/privilege.html Lup
Re: [Article] NuttX on Star64 JH7110: RISC-V Privilege Levels and UART Registers
Thanks Nathan! I'm still getting used to NuttX Kernel Mode and RISC-V Machine / Supervisor Modes, so I thought I might stick with QEMU Kernel Mode and make it work on Star64. But you're right, when I'm more familiar with Star64, I ought to explore more of CONFIG_ARCH_USE_S_MODE and RISC-V Machine Mode :-) Lup On Wed, Jul 19, 2023 at 10:25 AM Nathan Hartman wrote: > On Tue, Jul 18, 2023 at 7:33 PM Lee, Lup Yuen wrote: > > > We’re in the super-early stage of porting NuttX to the Pine64 Star64 > 64-bit > > RISC-V SBC. (Based on StarFive JH7110 SoC) > > > > In this article we’ll talk about the interesting things that we learnt > > about RISC-V and Star64 JH7110… > > > > (1) What are RISC-V Privilege Levels > > (And why they make NuttX a little more complicated) > > > > (2) What is NuttX Kernel Mode > > (And how it differs from Flat Mode) > > > > (3) All about JH7110’s UART Registers > > (And how they are different from other 16550 UARTs) > > > > (4) Why (naively) porting NuttX from QEMU to Star64 might become really > > challenging! > > (Thankfully we have the LiteX Arty-A7 and PolarFire Icicle ports) > > > > https://lupyuen.codeberg.page/articles/privilege.html > > > > Lup > > > > Beautiful article! > > Question: In section 6, "NuttX flat mode becomes kernel mode," isn't it > possible to set CONFIG_ARCH_USE_S_MODE for the FLAT build as well? Since > the board's built-in firmware switches from Machine Mode to Supervisor Mode > before calling U-Boot -> NuttX, I think that all configurations running on > this board should select CONFIG_ARCH_USE_S_MODE by default. This can be set > in Kconfig by default whenever this board is selected, so there is no need > to remember and add it in multiple places/configs; however if someone > figures out an alternative firmware that lets us boot NuttX on this board > in Machine Mode, it will be easy to override. Just a thought... > > Thanks for a great article as always! > > Cheers, > Nathan >
Re: Raspberry pi 4 Support
Hi Joseph: I think we could follow the same porting steps as I did for PinePhone? (Allwinner A64 / Cortex-A53) We started by booting NuttX with the U-Boot Bootloader: https://lupyuen.github.io/articles/uboot Then we built up the NuttX Drivers. Check out the articles here: https://github.com/lupyuen/pinephone-nuttx#apache-nuttx-rtos-for-pinephone Lup On Thu, Jul 20, 2023 at 7:18 AM Joseph Gonzalez wrote: > Thanks for the info, this seems like a great side project. I am new into > BSP development. What steps do you think are necessary to bring support to > the RPi 4? > > > El 19 jul. 2023, a las 12:13, Gregory Nutt > escribió: > > > > Support for the RPi zero with the BCM2708 was started and was partially > functional, but was never finished: > >> > >> * > https://bitbucket.org/patacongo/obsoleted/src/master/nuttx/arch/arm/src/bcm2708/ > >> * > https://bitbucket.org/patacongo/obsoleted/src/master/nuttx/configs/pizero/ > >> > > This is, of course, all available in GIT as well. Commits > a0a537a9f0b8acb04c9d4873612d38c9ad35c6d3 and > f50ff845108bbe182e5255b3d723f925cb560c30 > > > >
[Article] Booting on RISC-V Star64 JH7110 SBC
We managed to boot a tiny bit of NuttX on the RISC-V Star64 JH7110 SBC! (Before crashing with a Privileged Instruction Exception) This article explains how we patched a Linux Image to boot NuttX on Star64: https://lupyuen.codeberg.page/articles/linux.html Lup
Article: LVGL in WebAssembly with Zig Compiler
Right now we’re creating a Feature Phone UI (in LVGL and Zig) for PinePhone on NuttX. Would be awesome if we could prototype the Feature Phone UI in our Web Browser… To make the UI Coding a little easier! In this article we’ll talk about porting LVGL from PinePhone to WebAssembly… (1) Run a Zig LVGL App on PinePhone (with NuttX) (2) How Zig works with WebAssembly (and C Libraries) (3) Compile LVGL Library from C to WebAssembly (with Zig Compiler) (4) Test it with our LVGL App (in Zig) (5) Render Simple LVGL UIs (in Web Browser) https://lupyuen.codeberg.page/articles/lvgl3.html Lup
Re: CI tests (was: Re: [OT] Learning Makefiles)
Maybe we can run the CI Tests once a day, so it's easier to backtrack? FYI I've run Automated Tests on BL602 NuttX over the past 365 days (except for the brief Makefile outage last week): https://github.com/lupyuen/nuttx/tags Here's how it works: https://lupyuen.github.io/articles/auto Lup On Tue, May 23, 2023 at 3:33 PM Sebastien Lorquet wrote: > Hello, > > even if theoretically nice to do, do we really, actually, need to do > that for the purpose of checking *every* pull request, which are quite > numerous? > > Could that not be done once before a release? > > Sebastien > > Le 22/05/2023 à 22:31, Maciej Wójcik a écrit : > > Checking different configurations is an academic problem, I think they > call > > it configuration sampling and it is part of variability modelling. There > > were some papers about sampling of Linux configurations. > > > > The simplest approach is to enable all possible, disable all possible, > but > > it is not trivial. Each selection multiplies the number of configurations > > by the number of available options. That has very bad complexity. > > > > They use SAT solvers to generate many configurations instead of brute > > force. The goal is to sample configuration space in a uniform way. > > > > Am Mo., 22. Mai 2023 um 21:14 Uhr schrieb Nathan Hartman < > > hartman.nat...@gmail.com>: > > > >> On Mon, May 22, 2023 at 9:29 AM Sebastien Lorquet > > >> wrote: > >> > >>> If the untold reason is to speed up github tests, then run less tests. > >>> Do we really need to test build on 13 or 20 arm platforms when only one > >>> config of the other architectures is tested, and the actual value of > >>> these build test is dubious? > >> > >> > >> This is an interesting point. It reminds me that (at least in the old > days, > >> I don't know now) FreeBSD had a build config that basically enabled all > >> options, even if that's impossible for actually running, for build > testing. > >> I don't know if we can do that but maybe we need one ARM config that > >> enables as many options as possible and then use other archs for other > >> tests. > >> > >> Just a thought > >> > >> Nathan > >> >
Article: NuttX for PinePhone: Feature Phone UI in LVGL, Zig and WebAssembly
We have created an LVGL App that runs in a Web Browser and on NuttX for PinePhone… - We compiled LVGL Library from C to WebAssembly with Zig Compiler - We wrote our LVGL App in the Zig Programming Language (instead of C) - Exact same code runs in a Web Browser and on NuttX for PinePhone Which is super helpful for prototyping LVGL Apps! Check out the details in this article: https://lupyuen.codeberg.page/articles/lvgl4.html Lup
[Article] NuttX on Star64 JH7110: Creating the First Release
Good News! NuttX now officially supports the Pine64 Star64 64-bit RISC-V SBC, based on the StarFive JH7110 SoC. (StarFive VisionFive 2 SBC will probably work too, anyone would like to test?) In this article we explain how we created the First Release of NuttX for Star64 JH7110… (1) Building NuttX for Star64 (2) Creating a Bootable microSD with NuttX Kernel and Initial RAM Disk (3) What happens during NuttX Startup (4) Adding the NuttX Arch (JH7110) and NuttX Board (Star64) (5) Upcoming Features for NuttX on Star64 Which is probably helpful for folks who wish to… - Add a new NuttX Arch (SoC) or NuttX Board - Create NuttX Drivers (or NuttX Apps) for Star64 (or VisionFive2) - Or simply understand how we boot a Modern SBC from scratch! Check out the article: https://lupyuen.codeberg.page/articles/release.html Lup
[Article] NuttX on Star64 JH7110: RISC-V Semihosting and Initial RAM Disk
NuttX crashes on Star64 JH7110 RISC-V SBC because there's no Semihosting. But no worries! We modified NuttX to boot with an Initial RAM Disk instead (initrd). In this article, we find out… (1) What’s RISC-V Semihosting (2) Why it crashes NuttX on Star64 (3) How it affects the Apps Filesystem in NuttX (4) How we replaced Semihosting by Initial RAM Disk “initrd” (5) After testing on QEMU Emulator (6) Thanks to NuttX on LiteX Arty-A7 for the guidance! Check out the article: https://lupyuen.codeberg.page/articles/semihost.html Lup
[Article] NuttX on Star64 JH7110: RISC-V PLIC Interrupts and Serial I/O
NuttX on Star64 JH7110 RISC-V SBC is almost ready! But we're stuck with 16550 UART Controller firing too many Spurious Interrupts. In this article, we explain… (1) Why there’s No Console Output from NuttX Apps (2) How Serial I/O works in NuttX QEMU (3) How UART I/O differs for Star64 vs QEMU (4) What’s the RISC-V Platform-Level Interrupt Controller (PLIC) (5) Why we delegate RISC-V Machine-Mode Interrupts to Supervisor-Mode (6) How NuttX Star64 handles UART Interrupts (7) Which leads to a new problem: 16550 UART Controller fires too many Spurious Interrupts! Check out the article: https://lupyuen.codeberg.page/articles/plic.html Lup
Re: [Article] NuttX on Star64 JH7110: RISC-V PLIC Interrupts and Serial I/O
Thanks Tomek! Here's the backup link for the article (since Codeberg is down): https://lupyuen.github.io/articles/plic I found out (from Hacker News) that JH7110 uses a Synopsys DesignWare 8250 UART that has a peculiar problem with the Line Control Register (LCR)... If we write to LCR while the UART is busy, it will trigger spurious UART Interrupts. The fix is to wait for the UART to be not busy before writing to LCR. Here's my proposed patch for the NuttX 16550 UART Driver (drivers/serial/uart_16550.c): https://github.com/lupyuen2/wip-pinephone-nuttx/pull/36/files#diff-f208234edbfb636de240a0fef1c85f9cecb37876d5bc91ffb759f70a1e96b1d1 We're all ready to merge NuttX for JH7110! :-) Lup On Wed, Aug 2, 2023 at 7:19 AM Tomek CEDRO wrote: > On Wed, Aug 2, 2023 at 1:14 AM Lee, Lup Yuen wrote: > > NuttX on Star64 JH7110 RISC-V SBC is almost ready! But we're stuck with > > 16550 UART Controller firing too many Spurious Interrupts. > > Good luck Lup! IRQ storm is (was?) known problem on a desktop machines > too! I hope you fight that beast soon :-) :-) > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
Re: Article: NuttX for PinePhone: The First Year
Thanks Alan and Tomek! I had lots of fun proving that NuttX runs really well on an Arm64 consumer gadget, now I'll do the same for NuttX on 64-bit RISC-V :-) Lup On Tue, Jun 20, 2023 at 8:41 PM Alan C. Assis wrote: > Congratulations Lup! > > I think your work on PinePhone is an evolution of what people did with > OsmocomBB and Fernvale many year ago: > > https://osmocom.org/projects/baseband/wiki/Fernvale > > I think this time we are near to get a usable feature phone running NuttX. > > BR, > > Alan > > On 6/19/23, Lee, Lup Yuen wrote: > > One year ago we started porting NuttX to PinePhone. Let’s look back and > > talk about… > > > > 1. The Features that we’ve implemented > > 2. Our Plans for the future > > 3. Why we might move to a RISC-V Tablet! > > > > Check out the article here... > > > > https://lupyuen.codeberg.page/articles/pinephone2.html > > > > Lup > > >
Article: 64-bit RISC-V with NuttX
In this article we explore NuttX on 64-bit RISC-V... (1) Boot NuttX on the QEMU Emulator for 64-bit RISC-V (2) Study the Boot Code that starts NuttX on RISC-V (3) And learn a little RISC-V Assembly! Check out the article here: https://lupyuen.codeberg.page/articles/riscv.html Lup
Re: Article: 64-bit RISC-V with NuttX
Thanks Tomek! Yep I'm starting to port NuttX to the StarFive JH7110 SoC (64-bit RISC-V) and Pine64 Star64 SBC. Should be really interesting :-) https://doc-en.rvspace.org/Doc_Center/jh7110.html https://wiki.pine64.org/wiki/STAR64 Lup On Sat, Jun 24, 2023 at 8:05 AM Tomek CEDRO wrote: > VERY COOL!! :-) > > I have VisionFive2 SBC to play with.. would be nice to run NuttX on it :-) > > I made run Linux (available images) and FreeBSD (no drivers yet on BSD only > kernel + apps over uart) on it already :-) > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
[Article] Inspecting the Star64 RISC-V SBC
Pine64 Star64 is a new 64-bit RISC-V Single-Board Computer, based on the StarFive JH7110 SoC. In this article we’ll… (1) Look inside the brand new Linux Images for Star64 (2) Decompile (with Ghidra) the RISC-V Linux Kernel (3) Figure out how NuttX might run on Star64 Check out the article here: https://lupyuen.codeberg.page/articles/star64.html Lup
Article: NuttX for PinePhone: The First Year
One year ago we started porting NuttX to PinePhone. Let’s look back and talk about… 1. The Features that we’ve implemented 2. Our Plans for the future 3. Why we might move to a RISC-V Tablet! Check out the article here... https://lupyuen.codeberg.page/articles/pinephone2.html Lup
Re: [VOTE] Apache NuttX 12.2.0 RC0 release
+1 for PinePhone = Compiler + aarch64-none-elf-gcc -v Using built-in specs. COLLECT_GCC=aarch64-none-elf-gcc COLLECT_LTO_WRAPPER=/Applications/ArmGNUToolchain/11.3.rel1/aarch64-none-elf/bin/../libexec/gcc/aarch64-none-elf/11.3.1/lto-wrapper Target: aarch64-none-elf Configured with: /Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=aarch64-none-elf --prefix=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install --with-gmp=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpfr=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-mpc=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --with-isl=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-gnu-ld --with-sysroot=/Volumes/data/jenkins/workspace/GNU-toolchain/arm-11/build-aarch64-none-elf/install/aarch64-none-elf --with-pkgversion='Arm GNU Toolchain 11.3.Rel1' --with-bugurl= https://bugs.linaro.org/ Thread model: single Supported LTO compression algorithms: zlib gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1) = Configuration + ./tools/configure.sh pinephone:nsh = Size + aarch64-none-elf-size nuttx text databssdechex filename 221412 12921 41615 275948 435ec nuttx = NSH Info and Free NuttShell (NSH) NuttX-12.2.0 nsh> uname -a NuttX 12.2.0 26f5e973f6 Jun 30 2023 18:41:32 arm64 pinephone nsh> free total used freelargest nused nfree Umem: 133410808 551480 132859328 132859232 58 2 Complete Log: https://gist.github.com/lupyuen/3b6f7ab19e687e5d9ca57b85df36de2a Validation Script: https://gist.github.com/lupyuen/73bab36c5d9fa0ccd94fefe8ea1a7195 Lup On Fri, Jun 30, 2023 at 4:48 PM Alin Jerpelea wrote: > Hello all, > > Apache NuttX 12.2.0 RC0 has been staged under [1] and it's time to vote on > accepting it for release. Voting will be open for 72hr. > > > > A minimum of 3 binding +1 votes and more binding +1 than binding -1 are > required to pass. > > > > The Apache requirements for approving a release can be found here [3] > "Before voting +1 [P]PMC members are required to download the signed source > code package, compile it as provided, and test the resulting executable on > their own platform, along with also verifying that the package meets the > requirements of the ASF policy on releases." > > > > A document to walk through some of this process has been published on our > project wiki and can be found here [4]. > > > > [ ] +1 accept (indicate what you validated - e.g. performed the non-RM > items in [4]) > > [ ] -1 reject (explanation required) > > > > Thank you all, > > Alin Jerpelea > > > > SCM Information: > > Release tag: nuttx-12.2.0-RC0 > > Hash for the release nuttx tag: 26f5e973f68a7bb4ee66915fce2c723641d5e045 > > Hash for the release nuttx-apps tag: > 86efbcbee77bc0a29af07807080f4804a37f46a3 > > > [1] https://dist.apache.org/repos/dist/dev/nuttx/12.2.0-RC0/ > [2] > https://raw.githubusercontent.com/apache/nuttx/nuttx-12.2.0-RC0/ReleaseNotes > [3] https://www.apache.org/dev/release.html#approving-a-release > [4] > https://cwiki.apache.org/confluence/display/NUTTX/Validating+a+staged+Release >
Article: PinePhone Accelerometer with NuttX (InvenSense MPU-6050)
When we tilt our Smartphone from Portrait to Landscape... How does it know that we're tilting our phone? Watch what happens when we snoop the Accelerometer Data from PinePhone's MPU-6050 Accelerometer... https://www.hackster.io/lupyuen/inside-a-smartphone-accelerometer-pinephone-with-nuttx-rtos-b92b58 Thanks to Filipe Cavalcanti for inspiring this tutorial! :-) BTW Hackster.io has problems for me, it got stuck at "Saving..." and lost my edits a few times. Remember to copy and paste your Article Text into another Backup Project at Hackster.io! :-) Lup