Article: NuttX for PinePhone: Phone Calls and Text Messages

2023-05-02 Thread Lee, Lup Yuen
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

[Article] NuttX on Ox64 BL808 RISC-V SBC: Emulated in the Web Browser

2024-01-20 Thread Lee, Lup Yuen
In olden times we had Computer Games (plus Operating Systems) on 5.25-inch Floppy Disks. And we’d boot the Floppy Disks (clackety-clack) on Apple II Computers with 64 KB RAM. Today (40 years later) we boot microSD Cards (clickety-click) on Ox64 BL808 RISC-V Single-Board Computers with 64 MB RAM.

Re: [Article] Build & Test NuttX Apps in the Web Browser (TCC RISC-V Compiler)

2024-02-04 Thread Lee, Lup Yuen
integrated on apps/ to run inside MCUs > with much memory (like STM32 with external SDRAM), ESP32, BL808, etc. > > Best Regards, > > Alan > > On Sat, Feb 3, 2024 at 8:08 PM Lee, Lup Yuen wrote: > > > Today we're running NuttX Emulator inside a Web Browser. What if

[Article] NuttX ROM FS Driver in the Web Browser

2024-02-10 Thread Lee, Lup Yuen
NuttX has an awesome driver for ROM FS Filesystem. What if we could transplant the NuttX Driver and run it in a Web Browser, embedded in any WebAssembly App? Today we solve a hefty headache in our port of TCC Compiler to WebAssembly: Missing C Header Files... (1) We host the C Header Files in a

[Article] QuickJS JavaScript Engine on NuttX

2024-02-17 Thread Lee, Lup Yuen
QuickJS is a small JavaScript Engine that supports POSIX Functions. Can we run QuickJS on NuttX? And Blink the LED in 4 lines of JavaScript? const ULEDIOC_SETALL = 0x1d03; const fd = os.open("/dev/userleds", os.O_WRONLY); os.ioctl(fd, ULEDIOC_SETALL, 1); os.ioctl(fd, ULEDIOC_SETALL, 0);

Re: [Article] NuttX on Ox64 BL808 RISC-V SBC: Bare Metal Experiments

2023-12-17 Thread Lee, Lup Yuen
gt; > I had intended to support 6LoWPAN with Bluetooth radios too, but never > got around to it. > > On 12/16/2023 5:03 PM, Lee, Lup Yuen wrote: > > Pine64 Ox64 BL808 (64-bit RISC-V SBC) is now supported in NuttX Mainline! > > (Many thanks to my reviewers) > > > > Ox64 BL8

[Article] NuttX on Ox64 BL808 RISC-V SBC: Bare Metal Experiments

2023-12-16 Thread Lee, Lup Yuen
Pine64 Ox64 BL808 (64-bit RISC-V SBC) is now supported in NuttX Mainline! (Many thanks to my reviewers) Ox64 BL808 is an affordable $8 SBC with: - 3 x RISC-V Cores (T-Head 64-bit / 32-bit) - Networking: Ethernet, WiFi, Bluetooth LE, Zigbee - Peripheral Interfaces: UART (Serial), I2C, SPI, USB,

Re: Re: minimal funcational acceptance for a new port

2023-12-12 Thread Lee, Lup Yuen
Hi yf: Kendryte K230 sounds really cool! (Dual-core T-Head C908 64-bit RISC-V with NPU) I'm now upstreaming to NuttX Mainline a similar board (Pine64 Ox64 SBC with Bouffalo Lab BL808 SoC and T-Head C906). These links might be helpful: PR for BL808 SoC: https://github.com/apache/nuttx/pull/11371

Re: [Article] NuttX on Ox64 BL808 RISC-V SBC: Fixed the UART Interruptand Platform-Level Interrupt Controller

2023-12-11 Thread Lee, Lup Yuen
> yf > > > > > Original > > > > From:"Lee, Lup Yuen"< lu...@appkaki.com ; > > Date:2023/12/10 7:11 > > To:"dev"< dev@nuttx.apache.org ; > > Subject:[Article] NuttX on Ox64 BL808 RISC-V SBC: Fixed the UART > Interruptand Platform-

[Article] NuttX on Ox64 BL808 RISC-V SBC: Fixed the UART Interrupt and Platform-Level Interrupt Controller

2023-12-09 Thread Lee, Lup Yuen
Last week we walked through the Serial Console for Pine64 Ox64 BL808 64-bit RISC-V Single-Board Computer. And we hit some illogical impossible problems on NuttX for Ox64: (1) Console Input is always empty. (Can’t enter any Console Commands) (2) Interrupt Claim is forever 0. (Ox64 won’t tell us

[Article] NuttX on Ox64 BL808 RISC-V SBC: Nim Programming Language

2023-12-31 Thread Lee, Lup Yuen
Happy New Year! 2024 is here and we’re running NuttX on Single-Board Computers with plenty of RAM. Like Pine64 Ox64 BL808 SBC with 64 MB RAM! In this article, we create a Blinky LED app with a Python-like, Garbage-Collected Language that compiles to C: Nim Programming Language. Garbage-Collected

Re: [Article] NuttX on Ox64 BL808 RISC-V SBC: Fixed the UART Interrupt and Platform-Level Interrupt Controller

2023-12-10 Thread Lee, Lup Yuen
nfortunately Pine 0x64 doesn't ship to Brazil (probably many buyers let > the boards return after getting notified of higher taxes from Brazilian > Customs). > > Best Regards, > > Alan > > On Sat, Dec 9, 2023 at 8:11 PM Lee, Lup Yuen wrote: > > > Last week we w

Re: [VOTE] Apache NuttX 12.4.0 RC0 release

2024-01-10 Thread Lee, Lup Yuen
+1 for Ox64, Star64 and PinePhone = Ox64 Compiler + riscv64-unknown-elf-gcc -v Using built-in specs. COLLECT_GCC=riscv64-unknown-elf-gcc

[Article] NuttX in the Web Browser (TinyEMU + VirtIO)

2024-01-13 Thread Lee, Lup Yuen
NuttX now boots and runs inside a Web Browser! (With WebAssembly) Try "ostest" here: https://lupyuen.github.io/nuttx-tinyemu This article explains how we… (1) Boot NuttX in the Web Browser with TinyEMU RISC-V Emulator (2) Modify NuttX for HTIF Console (Berkeley Host-Target Interface) (3) Explore

Re: [Article] NuttX in the Web Browser (TinyEMU + VirtIO)

2024-01-13 Thread Lee, Lup Yuen
/login/ > > Is it possible to get network enabled and use it to communicate? It could > open new possibilities! > > BR, > > Alan > > > On Sat, Jan 13, 2024 at 8:30 PM Lee, Lup Yuen wrote: > > > NuttX now boots and runs inside a Web Browser! (With

Re: Ox64 crash Was: Re: [VOTE] Apache NuttX 12.4.0 RC0 release

2024-01-14 Thread Lee, Lup Yuen
gt; > [ > https://opengraph.githubassets.com/4259c40e0ffc51679b0d2f48e65e04e9821afb513a3d978f91a3fb2ceb8bb188/lupyuen/nuttx-ox64/releases/tag/nuttx-ox64-2024-01-11 > ]<https://github.com/lupyuen/nuttx-ox64/releases/tag/nuttx-ox64-2024-01-11 > > > Release nuttx-ox64-2024-01-11

Re: [Article] NuttX in the Web Browser (TinyEMU + VirtIO)

2024-01-14 Thread Lee, Lup Yuen
Do you think it is possible to find an alternative to use the users' > browser connection to communicate to the Internet? > This way it avoids users' consumption of all internet limits on the server > side. > > BR, > > Alan > > On Sun, Jan 14, 2024 at 4:17 AM Lee, Lup

[Article] NuttX on Ox64 BL808 RISC-V SBC: NuttX Apps and Initial RAM Disk

2023-11-25 Thread Lee, Lup Yuen
In Asia the wise folks say: “One can hide on a certain day but cannot hide for a long time / 躲过初一,躲不过十五” In other words: “Transformers? More than meets the eye!” In this article, we go behind the shadow puppetry (wayang kulit) and deceptive simplicity of NuttX Applications inside Apache NuttX

[Article] NuttX on Ox64 BL808 RISC-V SBC: UART Interrupt and Platform-Level Interrupt Controller (PLIC)

2023-12-02 Thread Lee, Lup Yuen
Our article today is all about RISC-V Interrupts on the tiny adorable Pine64 Ox64 BL808 64-bit Single-Board Computer (based on Bouffalo Lab BL808 SoC)… (1) What’s inside the Platform-Level Interrupt Controller (PLIC) (2) Setting up the PLIC at startup (3) Enabling the PLIC Interrupt for Serial

Re: [Article] NuttX on Ox64 BL808: Automated Testing with Ox64 Emulator

2024-01-27 Thread Lee, Lup Yuen
ations, I think it could be very useful if integrated with CI. > > We could find many issues that aren't detected currently. > > Best Regards, > > Alan > > On Sat, Jan 27, 2024 at 8:05 PM Lee, Lup Yuen wrote: > > > Every day we’re auto-building NuttX for Ox64 BL80

[Article] NuttX on Ox64 BL808: Automated Testing with Ox64 Emulator

2024-01-27 Thread Lee, Lup Yuen
Every day we’re auto-building NuttX for Ox64 BL808 RISC-V SBC... Can we test NuttX on Ox64 automatically after building? Yes we can! With a little help from the Ox64 BL808 Emulator that we created last week. In this article, we fill in the missing pieces of our Ox64 Emulator and run it for

[Article] Build & Test NuttX Apps in the Web Browser (TCC RISC-V Compiler)

2024-02-03 Thread Lee, Lup Yuen
Today we're running NuttX Emulator inside a Web Browser. What if we could build and test NuttX Apps in the Web Browser? Learning NuttX becomes so cool! Let's explore with TCC (Tiny C Compiler) for 64-bit RISC-V, compiled to WebAssembly with Zig Compiler... (1) Zig Compiler compiles TCC Compiler

[Article] NuttX on Ox64 BL808 RISC-V SBC: Sv39 Memory Management Unit

2023-11-18 Thread Lee, Lup Yuen
Memory Management Unit (MMU) is the hardware inside our Single-Board Computer (SBC) that implements Memory Protection and Virtual Memory. Sv39 is the RISC-V MMU inside the Pine64 Ox64 SBC, based on Bouffalo Lab BL808 SoC. In this article, we boot NuttX on Ox64 SBC to find out how Sv39 MMU works

Re: [Article] NuttX on Ox64 BL808 RISC-V SBC: Sv39 Memory Management Unit

2023-11-19 Thread Lee, Lup Yuen
Thanks Ken! Yep you read my mind, I'll write about NuttX Apps in the next article: (1) What's inside the simplest "Hello World" app (2) How NuttX Apps call NuttX Kernel with "ecall" (3) Bundling the NuttX Apps into the Initial RAM Disk (initrd) for Ox64 BL808 SBC. (We'll append the initrd to the

Re: [Article] Starting NuttX on Ox64 BL808 RISC-V SBC

2023-11-11 Thread Lee, Lup Yuen
On Sun, Nov 12, 2023 at 7:37 AM Tomek CEDRO wrote: > On Sun, Nov 12, 2023 at 12:18 AM Lee, Lup Yuen wrote: > > Last week we booted Linux on the Pine64 Ox64 64-bit RISC-V SBC, powered > by > > Bouffalo Lab BL808 SoC. And we wondered if a tiny 64-bit RTOS like NuttX > > might run

[Article] Starting NuttX on Ox64 BL808 RISC-V SBC

2023-11-11 Thread Lee, Lup Yuen
Last week we booted Linux on the Pine64 Ox64 64-bit RISC-V SBC, powered by Bouffalo Lab BL808 SoC. And we wondered if a tiny 64-bit RTOS like NuttX might run more efficiently on Ox64. (With only 64 MB of RAM) Let’s make it happen! In this article we... (1) Begin with NuttX for Star64 JH7110

Re: [Article] NuttX in the Web Browser (TinyEMU + VirtIO)

2024-01-16 Thread Lee, Lup Yuen
ting it further! > > > > BR, > > Alan > > > > On Mon, Jan 15, 2024 at 2:34 AM Lee, Lup Yuen wrote: > > > > > << Do you think it is possible to find an alternative to use the users' > > > browser connection to communicate to the Internet? This way it

Re: Nano-x porting

2024-04-09 Thread Lee, Lup Yuen
Hi Pavel: I'm sorry the GSoC Proposal Submission has closed last week. Though Shijo is still keen to do NanoX on NuttX in his spare time. I asked Shijo to bounce some ideas with you. If you could help him, that would be great. Thanks :-) Lup On Tue, Apr 9, 2024 at 1:48 PM Pavel Pisa wrote: >

[Article] Rust Custom Target for QEMU RISC-V on NuttX

2024-04-20 Thread Lee, Lup Yuen
Last article we were compiling Rust Apps for NuttX QEMU (RISC-V 32-bit). And we hit a baffling error… "Can't link Soft-Float modules with Double-Float modules" Let’s solve the problem! In this article we dive inside the internals of C-to-Rust Interop… (1) Rust compiles for Soft-Float, NuttX

Re: [Article] Rust Custom Target for QEMU RISC-V on NuttX

2024-04-20 Thread Lee, Lup Yuen
een phosphor effect, how did you do it? > > Best Regards, > > Alan > > On Sat, Apr 20, 2024 at 7:41 PM Lee, Lup Yuen wrote: > > > Last article we were compiling Rust Apps for NuttX QEMU (RISC-V 32-bit). > > And we hit a baffling error… > > > > "C

Re: Help regarding the code formatting

2024-05-03 Thread Lee, Lup Yuen
Thank you so much Greg! I'll copy and paste the relevant sections into the NuttX Docs. Lup On Fri, May 3, 2024 at 10:04 PM Gregory Nutt wrote: > On 5/3/2024 2:12 AM, Lee, Lup Yuen wrote: > > https://lupyuen.github.io/articles/pr#check-coding-style > Nice article. This would be

Welcoming Rushabh Gala to NuttX GSoC

2024-05-01 Thread Lee, Lup Yuen
Please welcome Mr Rushabh Gala to the NuttX Community! He's a Third-Year Student at Mumbai University (Computer Science and Engineering). For Google Summer of Code, I'll work with him on Rust Apps for NuttX. (Which includes the Rust Wrapper for the POSIX Functions in NuttX) He's new to NuttX,

[Article] Rust Apps on NuttX for Ox64 BL808 RISC-V SBC

2024-05-04 Thread Lee, Lup Yuen
Will Rust Apps run on a 64-bit RISC-V SBC? Like Ox64 BL808 SBC? Let’s find out! (1) We take a Barebones Rust App (“Hello World!”) (2) Compile it for QEMU RISC-V Emulator (64-bit) (3) Run it on QEMU Emulator with NuttX (4) Do the same on Ox64 BL808 SBC (via MicroSD) (5) We’ll discuss the

Re: Help regarding the code formatting

2024-05-03 Thread Lee, Lup Yuen
Hi Janardhan: I have an article that explains the "nxstyle" tool, maybe this will help? https://lupyuen.github.io/articles/pr#check-coding-style I'm not aware of a script that does auto-formatting for NuttX Code. I do it manually in VSCode :-) Lup On Fri, May 3, 2024 at 3:24 PM Janardhan

[OT] PineVox Smart Speaker might boot NuttX (Bouffalo Lab BL606P)

2024-03-23 Thread Lee, Lup Yuen
Pine64's new PineVox Smart Speaker looks interesting, it runs on Bouffalo Lab's BL606P 64-bit RISC-V SoC. Which is very similar to Ox64 BL808, so it might boot NuttX!

[Article] Rust Apps on NuttX with QEMU RISC-V Emulator

2024-04-06 Thread Lee, Lup Yuen
This article explains the current steps for running barebones Rust Apps on NuttX and the challenges we faced: (1) How we compile Rust Apps for NuttX (2) Running NuttX and Rust Apps on QEMU RISC-V Emulator (3) Console Input and Output for Rust on NuttX (4) Software vs Hardware Floating-Point and

Re: [Article] Rust Apps on NuttX with QEMU RISC-V Emulator

2024-04-07 Thread Lee, Lup Yuen
C. Assis wrote: > Very nice article! > > I think it should be nice to take a look at the Rustix project again, it > will avoid these 'extern "C" ' for each function on NuttX. > > BR, > > Alan > > On Sat, Apr 6, 2024 at 7:57 PM Lee, Lup Yuen wrote: >

Re: [VOTE] Apache NuttX 12.5.1 RC0 release

2024-04-09 Thread Lee, Lup Yuen
+1 for Ox64, Star64 and PinePhone = Ox64 Compiler + riscv64-unknown-elf-gcc -v Using built-in specs. COLLECT_GCC=riscv64-unknown-elf-gcc

Re: [VOTE] Apache NuttX 12.5.0 RC0 release

2024-04-01 Thread Lee, Lup Yuen
+1 for Ox64, Star64 and PinePhone = Ox64 Compiler + riscv64-unknown-elf-gcc -v Using built-in specs. COLLECT_GCC=riscv64-unknown-elf-gcc

Re: [Article] Rust Apps on NuttX with QEMU RISC-V Emulator

2024-04-08 Thread Lee, Lup Yuen
gives a kind of rosetta stone to interop basic rust with > C and the usual toolchains, which I did not see anywhere else (I did not > search for long). > > I'll keep it as a reference doc. > > Thanks, > > Sebastien > > Le 07/04/2024 à 00:56, Lee, Lup Yuen a écrit : &

[Article] Drag-n-Drop a NuttX App

2024-02-24 Thread Lee, Lup Yuen
Remember MakeCode? BBC micro:bit and its Drag-n-Drop App Builder? MakeCode for BBC micro:bit is an awesome creation that’s way ahead of its time (7 years ago!) - TypeScript Compiler and Arm Assembler in the Web Browser (in JavaScript!) - Custom Embedded OS (CODAL + Mbed OS) - micro:bit Simulator

Re: [Article] Drag-n-Drop a NuttX App

2024-02-24 Thread Lee, Lup Yuen
to create NuttX > applications! > > Best Regards, > > Alan > > On Sat, Feb 24, 2024 at 7:03 PM Lee, Lup Yuen wrote: > > > Remember MakeCode? BBC micro:bit and its Drag-n-Drop App Builder? > MakeCode > > for BBC micro:bit is an awesome creation that’s way ahead

[Article] NuttX Log Parser with PureScript

2024-03-02 Thread Lee, Lup Yuen
While porting QuickJS to Ox64 BL808 SBC, we hit a Baffling Crash Dump on NuttX. Which made us ponder... Is there a better way to analyse a NuttX Crash Dump? Without scrolling pages and pages of logs? In this article, we create a real-time NuttX Log Parser that will: (1) Extract the RISC-V

Re: [Article] NuttX on Sophgo SG2000 RISC-V SoC (Milk-V Duo S SBC)

2024-05-19 Thread Lee, Lup Yuen
Lup! > > Fantastic work! And nice board to run NuttX > > On Sat, May 18, 2024 at 7:50 PM Lee, Lup Yuen wrote: > > > Soon we’ll see many new 64-bit RISC-V SBCs based on the Sophgo SG2000 > > RISC-V SoC. Will they boot NuttX? Let’s find out… > > > > (1)

[Article] NuttX on Sophgo SG2000 RISC-V SoC (Milk-V Duo S SBC)

2024-05-18 Thread Lee, Lup Yuen
Soon we’ll see many new 64-bit RISC-V SBCs based on the Sophgo SG2000 RISC-V SoC. Will they boot NuttX? Let’s find out… (1) We boot Linux on Milk-V Duo S (with SG2000) (2) Peek inside SG2000 Linux and observe how it boots (3) Then we take NuttX for RISC-V (Ox64 BL808) (4) Tweak NuttX Kernel to

Re: NuttX with rv64ilp32

2024-06-06 Thread Lee, Lup Yuen
Thanks YF! That's a very cool concept for RISC-V code: 64-bit architecture with 32-bit pointers. In case we need to use RV64ILP32 for NuttX, do you happen to have the patched source code to support RV64ILP32? Your recent PRs are very interesting, perhaps other folks here might like to comment:

Re: Heap Logging

2024-06-13 Thread Lee, Lup Yuen
Hi Mark: Thanks for watching my presentation! To show the Heap Logs, I enabled "Build Setup > Debug Options > Enable Debug Features > Memory Manager Debug Features". Here's the complete definition (I hope it's applicable to your platform)... << Symbol: DEBUG_MM_INFO Type : boolean Prompt:

[Article] Daily Automated Testing for NuttX on Milk-V Duo S RISC-V SBC (Sophgo SG2000 / IKEA TRETAKT)

2024-06-22 Thread Lee, Lup Yuen
Last week we upstreamed Milk-V Duo S SBC to NuttX Mainline. (Based on Sophgo SG2000 RISC-V SoC) But NuttX Mainline changes every day. Will Milk-V Duo S suffer “Software Bit Rot”? And fail to boot NuttX someday? Let’s do Daily Automated Testing for NuttX on a Milk-V Duo S. Yep on the Actual

Re: Rust Integration in Apache NuttX Apps: GSoC 2024 Mid-Term Recap

2024-07-08 Thread Lee, Lup Yuen
Hi Rushabh: Thank you so much for your kind words, excellent feedback and awesome contributions to NuttX Kernel and Apps! I'll definitely work harder to make NuttX Onboarding easier for new learners :-) Lup On Mon, Jul 8, 2024 at 6:37 PM RUSHABH GALA wrote: > Greetings everyone! > > I am

[Article] RISC-V Emulator for Sophgo SG2000 SoC (Pine64 Oz64 SBC)

2024-07-06 Thread Lee, Lup Yuen
Earlier this year we made a RISC-V Emulator for Ox64 BL808 SBC. Every day we run it for testing the Daily NuttX Build for Ox64, thanks to our customised TinyEMU RISC-V Emulator. (Not the small flightless bird) Now that NuttX supports Sophgo SG2000 SoC: Let’s create a similar emulator for Pine64

Re: [Article] RISC-V Emulator for Sophgo SG2000 SoC (Pine64 Oz64 SBC)

2024-07-07 Thread Lee, Lup Yuen
Lup! > > Another great article! I want to test my Milk-V Duo S soon!!! > > BR, > > Alan > > > On Sat, Jul 6, 2024 at 7:18 PM Lee, Lup Yuen wrote: > > > Earlier this year we made a RISC-V Emulator for Ox64 BL808 SBC. Every day > > we run it for testing

Re: Fwd: Rust Integration in Apache NuttX Apps: GSoC 2024 Mid-Term Recap

2024-07-08 Thread Lee, Lup Yuen
Hi All: I'm very sorry for the delay. Let me explain what Rushabh is doing, under my close supervision. He listed these GSoC Tasks in his post: << Ported the LED Blinky App from C to Rust >> The means Rushabh took the `leds` Example in C, and created a New Example in Rust called `blink_rust`:

<    1   2