mini2440 – My new ARM toy
Last week I recieved a new ARM toy. I unpacked it a minute after I got, and started messing with it straight ahead – and that’s why I’m first writing about it now 🙂
It’s called mini2440 and it has a Samsung S3C2440A ARM920T chip, clocked at 405 MHz (Max freq. 533 MHz), and a 3.5″ touch screen display on top. There is also 2MB NOR flash, 64MB SRAM, and 128MB NAND flash (you can get up to 1GB) on the board.
The mini2440 has alot of connection possibilities, as there is both a USB slave, USB master (OTG), ethernet, RS232, SD card slot and sound output. All these are routed to real connectors, but there is also alot of GPIO’s which is routed to small pin headers and connectors. There is also a microphone soldered to the board!
You can read more about the mini2440 board here: http://www.friendlyarm.net/products/mini2440
As the ARM920T hasn’t any flash itself, it is connected to a NOR and a NAND chip. In the NOR chip there is a bootloader called Supervivi, which makes it easy to upgrade the NAND chip and set boot-options in the NOR, using the USB and serial (RS232) port.
The mini2440 comes preinstalled with Linux 2.6.3 and a graphics layer called Qtopia. But as I haven’t messed alot with Linux I started investigating other opportunities.
Some of the operation systems (also RTOS’s) which can be installed on the mini2440 are for example:
- Linux 2.6.3 and Qtopia (Linux)
- Embedian (Linux)
- Angstrom (Linux)
- Android (Linux)
- Windows CE 5.0
- Windows CE 6.0
- uCos (RTOS)
Of course it is also possible to write code for the board without using an OS – this can be done in different ways
- Writing code for the 2MB NOR chip, and then boot from that
- Writing code for the NAND chip – this requires a specific bootloader which is placed in the bottom of the NAND chip
Right now I haven’t tried any of theese, but I have removed the Linux and installed Windows CE 5.0 and afterwards Windows CE 6.0. The great thing about Windows CE 6.0 is the .NET 3.5 Framework. This does the application development much easier, and I’ve already made my first “Hello World” application!
It took me hours to get started, as the CD which came with my mini2440 only included the Chineese manual.
But then there is two amazing sites:
- http://www.friendlyarm.net
- http://www.andahammer.com/
- And also the IRC channel on Freenode called #mini2440
Theese helped me getting started – but remember, the mini2440 is not for beginners. It requires a clear mind, and alot of time!
So to help you who may find it difficult to get started, I’ve uploaded some usefull documents and files.
- A 246 page manual about the mini2440, and how to use it
– It also includes some guides about creating your own Linux or WinCE image - A guide for the Supervivi bootloader
– How to install Linux or Windows CE on the mini2440 - An english Windows CE 5.0 image
– Follow the guide above to install it - A backup of the factory installed NAND (with Linux and Qtopiad)
– Remember this is only for the 128MB version – Restore it using Supervivi’s restore function
In the following weeks I will upload more things, and write a couple of guides to get started… Especially guides about getting started with Windows CE 6.0 development, as I’m doing right now!
Hi, have you ever tired to connect it with and arduino… under Linux or WinCe?
Does it work?
@Alan
Nope, I haven’t tried that… But it should work by connecting the serial ports together!
Hi, and thanks for the info!
I have the following problems I need help with:
1) I have the 64MB NAND Mini2440 and want to get Win CE 5 running on it. However the image you provided is 132MB… I think the solution is to loading WinCE5 on a flash card and then telling the mini2440 to boot to the flash. But how?
2) I have both a 3.5″ lcd and 7″ lcd and need to know how to get both working. It would be excellent if one image could work with either screen.
Thanks!
When building images for the mini2440, both Linux and Win CE images, you build for a specific target, which means a specific NAND size and a specific display.
With Linux I’ve tried booting images from an SD card thoug, but I don’t think it’s possible with Win CE.
So the image I’ve provided can only be used with the 128MB mini2440!
Also, when you build Win CE images, you chose which display driver to include. But with Linux you chose it in the startup parameters, so with Linux, both drivers is included!
Best Regards
Thomas Jespersen
Hi Thomas
I bought the same board and I have to try linux, android or Win CE. Linux and Android are free but WinCE? What’s the price of each WinCE license?.
Thanks.
@joan
Hi.
I don’t know the price for a single WinCE license, as I don’t think you can buy a single license.
Normally, the mini2440 is sold with a WinCE sticker if the license is included – fx; you can get one with sticker (license) from Andahammer!
For more details of SBC product , the manufacturer of mini2440v2
please refer to website:www.developmentboard.net
hi,
I have also bought mini2440 with 256MB NAND flash with Qt image loaded.
Can I use it in image processing projects and controlling the robots.
Regards
Hi.
Yes, you will definitely be able to do those things, all it requires is a great knowledge in Embedded Linux programming and development.
I can recommend you to start reading some guides about making Qt applications!
Best Regards
Thomas Jespersen
dear sir/madam
I need to Interface mini2440 (with Win Ce 6) with a usb camera, so I have the following questions. please help.
1.I want to know if protocol of usb camera`s are general or each camera has it’s own usb protocol?
2.if camera has WinXP driver, is it possible to use this driver with this board (in WinCE 6)?
3.I saw that this board support camera in it’s camera port and usb.what kind of camera does this board support?
@saeed
Hi Saeed.
Unfortunately I haven’t used any cameras with the board, not the supported nor a USB one.
The camera supported by the board is the CAM130 CMOS-Camera Module, though I don’t have this module, so I haven’t been able to test it.
If you are going to use a USB Webcam you would probably have to write your own driver for it, or if possible find an existing one – FOR WinCE! In general Webcam drivers and webcam interfaces are the same, they don’t nessecarily use the USB commands, but when converted using the driver, the have the same functions – webcam functionality.
That is why you can use almost every webcam in all webcam-supported applications.
I recommend you to have a look at the driver used for that USB webcam you have, for Windows XP, and then you should have a look at how to write drivers for the WinCE. It will probably be possible to port the driver easily.
Best Regards
Thomas Jespersen
Hi
The links to the documentation appear to be broken. Are the documents still available for download?
Regards
RM
@RM
I have now updated the links so they should be working again.
Regards Thomas
Hi,
I am new to embedded programming. I have fedora installed in my PC. I successfully installed linux kernel and everything is going good on mini2440. Now i have some image processing program, which i want to run on mini2440 without OS. like, only process running on board should be my program. and in that program, how can i access the on board cam to take image, and serial port to send output to the PC. Can you Please shed some light on it .
Thanking you in anticipation.
@Abdul
What do you mean with On board cam? If you are about to connect a USB Webcam it will be difficult to read the images without the use of a Linux distro which most likely already comes with the proper drivers embedded into the kernel.
If you are not using Linux or Windows CE but instead an RTOS like uCos you would have to write these USB drivers yourself.