LPC3250 Kickstart Firmware Development to Read/Write to 1GB NAND

Job ID: 39754725

Budget: £250 – £750 GBP

I need a compact kick-start program, written in C or C++, for the NXP LPC3250. Its primary job is to bring the board up, verify basic health, and hand control to the main operating system that sits in a 1 GB NAND (MT29F1G08) device.

Core behaviour
• Power-on sequence should configure the clocks, SDRAM and essential GPIO needed to reach NAND.
• Read/Write routines must support the full 1 GB NAND geometry, with ECC and bad-block management handled in software.
• On every boot the code should run a lightweight diagnostic sweep (RAM test, NAND ID check and checksum of the OS image) and report results over the existing UART5 console.
• Once diagnostics pass, the program copies the OS image from NAND to SDRAM and jumps cleanly to its entry point.

The existing NAND code must be able to be read/written and verified via the UART5 and saved or read from a chosen source as a binary file

Development notes
– Toolchain preference is the standard arm-none-eabi-gcc flow; if you use something different, include makefile adaptations.
– Keep the code modular and well commented so I can extend peripheral support later.
– I’ll test on real hardware, but please supply a QEMU or Keil simulation log proving the load-and-jump path if you have one.

Deliverables
1. Complete C source, linker script and build files and a standalone exe.
2. A brief README covering tool versions, build steps and memory map.
3. Diagnostic test plan and expected console output examples.

I’ll flash and run the first binary you send; once it boots, runs the diagnostics and launches the OS, we’ll iterate on any edge cases.