Starting with Embedded Linux on a Cortex-M3 board
I bought a board with a NXP LPC1768 (512kB flash, 64kB SRAM) on it. It comes with uC-II OS on it, I can easily program and debug it with an IDE from Keil but everything is done on Windows.
I've been playing with 8-bit microcontrollers for a while now but I'd like to start working with an Embedded OS on a smarter 32-bit chip like LPC1768. Since I use almost exclusively Linux on my computer, I'd prefer working with an embedded Linux rather than uC-II.
The first problem is if there is any linux embedded variation that fits into that space and leaves some space for the applications. I searched on the net but the majority require at least a few MB flash.
The second problem is that I don't know where to start from. I guess first of all I should burn a bootloader then compile and burn the kernel and the custom application(s).
Does anyone know of a good start guide?
Even better, has anyone tried to get linux work on an NXP LPC?
I'd appreciate any kind of help.
I searched a bit more, even on this forum and I'm quite convinced that an embedded OS like uClinux or RTOS linux is to big for my MCU. I've downloaded Nuttx RTOS and right now I'm trying to configure it for my board. On it's webpage I red that it can run even on 8-bit MCU's so it would be a good choice.
They also have support for the particular MCU I'm using. (mbed board using the same MCU of Embedded Artist's Board)
Still I need some guide since they don't provide.
I have worked with that device extensively (link to featured demo running webserver, telnet and CLI) and can say pretty categorically that the CPU core does not have the features required to run Linux, and the memory available (without an external bus) is but a fragment of that required.
If yes , you cant run Linux on that. Only you can run ucLinux.
For a Embedded board general process is following:
1> Burn the bootloader first (which will initialise the memory a bit to bootup the linux kernel or any OS kernel)
you can check UBOOT
2> Then your Linux kernel (In your case you need to cross compile for ARM)
3> Then your filesystem (It can be NFS,JFFS2,YAFFS,or from a external storage you can use ext2,ext3,ext4)
(uC)Linux won't with just 64kB SRAM, you need at least 1 MB RAM.
So you'd need another Cortex-M board to run Linux, or simply switch to another freeRTOS.
|All times are GMT -5. The time now is 11:26 PM.|