i have an old arm develop board using s3c2410 chip, and recently i bought an openjtag to burn and debug code.
so i want to build an uboot . the board's match uboot is very old, about 5 years ago, 1.14 version. i compare it with new version 2010.3, the different is very big.
so i want to port 2010.3 version uboot to s3c2410.
1. i need create toolchains.
i use an arm-linux-gcc-3.4.5, and build 2010.3 version uboot, failed, it report some EABI problem.
i don't want to fix this bug. just change the toolchains, at last i use arm-linux-gcc 4.4.3 vesion , it can build 2010.3 version uboot sucessfully.
2. second, i need modify the uboot code to match s3c2410.
NOTE:uboot only support nor flash. if you want to support Nand flash, you need add nand flash driver. this time ,we only want to support nor flash.
only modify the include/configs/smdk2410.h
#define PHYS_FLASH_SIZE 0x01000000 /* 16MB */
#define CONFIG_SYS_MAX_FLASH_SECT (128) /* max number of sectors on one chip */
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x070000) /* addr of environment */
modify the size of nor flash as 16M
#define CONFIG_ENV_IS_IN_FLASH 1
#define CONFIG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */
and change the environment area size, common size is one sector. for s3c2410 in my board, i use 28F128J3A, its size is 16M, and sector size is 0x20000.
3.compile and burn
make smdk2410_config
make
i use openjtag connect with the board, and use oflash burn it.
also can use openocd to burn it to ram, then use use openocd internal command to write it to nor flash.
4. note
uboot support nor flash well, so modify very little.
later , i will open DHCP function in uboot, and port nand flash driver to uboot to support nand flash, some one have done it. at last i will run the linux kernel in this board.