Based on smdk240 in u-boot, ported to mini2440, gcc version 4.4.3, u-boot version 2011.12
1. Copy board/samsung/smdk2410 to board/samsung/mini2440; Rename smdk2410.c under board/samsung/mini2440 to mini2440.c; Modify the Makefile of board/samsung/mini2440, change COBJS := smdk2410.o to COBJS := mini2440.o;
2. Copy include/configs/smdk2410.h to include/configs/mini2440.h
3. Add a line to boards.cfg in the root directory as follows:
mini2440 arm arm920t - samsung s3c24x0
4. Execution
#make mini2440_config
#make
Can compile normally
5. Modify mini2440.h,
#define CONFIG_S3C2410 /* specifically a SAMSUNG S3C2410 SoC */
#define CONFIG_SMDK2410 /* on a SAMSUNG SMDK2410 Board */
change into
#define CONFIG_S3C2440
#define CONFIG_MINI2440
#define CONFIG_SKIP_LOWLEVEL_INIT
Will
#define CONFIG_SYS_PROMPT "smdk2410 # "
change into
#define CONFIG_SYS_PROMPT "mini2440 # "
Add at the end
#define DEBUG
6. Modify the clock
Refer to http://blog.csdn.net/reille/article/details/6539735 to modify start.s and mini2440.c
7. Compile, the following error will appear:
s3c2410_nand.c: In function 's3c2410_hwcontrol':
s3c2410_nand.c:57: warning: implicit declaration of function 's3c2410_get_base_nand'
s3c2410_nand.c:57: warning: initialization makes pointer from integer without a cast
s3c2410_nand.c:72: error: dereferencing pointer to incomplete type
s3c2410_nand.c:72: error: dereferencing pointer to incomplete type
s3c2410_nand.c:75: error: dereferencing pointer to incomplete type
s3c2410_nand.c:75: error: dereferencing pointer to incomplete type
s3c2410_nand.c: In function 's3c2410_dev_ready':
s3c2410_nand.c:85: warning: initialization makes pointer from integer without a cast
s3c2410_nand.c:87: error: dereferencing pointer to incomplete type
s3c2410_nand.c: In function 'board_nand_init':
s3c2410_nand.c:129: warning: initialization makes pointer from integer without a cast
s3c2410_nand.c:150: error: dereferencing pointer to incomplete type
s3c2410_nand.c:153: error: dereferencing pointer to incomplete type
s3c2410_nand.c:154: error: dereferencing pointer to incomplete type
make[1]: *** [s3c2410_nand.o] Error 1
This is caused by turning on the nand command. Comment out #define CONFIG_CMD_NAND and name.
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_UBI
#define CONFIG_CMD_UBIFS
#define CONFIG_CMD_MTDPARTS
#define CONFIG_MTD_DEVICE
#define CONFIG_MTD_PARTITIONS
#define CONFIG_YAFFS2
#define CONFIG_RBTREE
To facilitate execution in ram, modify #define CONFIG_SYS_TEXT_BASE 0x0 to
#define CONFIG_SYS_TEXT_BASE 0x32000000
The compilation is successful, and u-boot.bin is downloaded to ram (address 0x32000000) and the execution results are as follows:
U-Boot 2011.12 (Apr 05 2012 - 23:34:12)
U-Boot code: 32000000 -> 320341F0 BSS: -> 32045E78
monitor len: 00045E78
ramsize: 04000000
TLB table at: 33ff0000
Top of RAM usable for U-Boot at: 33ff0000
Reserving 279k for U-Boot at: 33faa000
Reserving 4160k for malloc() at: 33b9a000
Reserving 24 Bytes for Board Info at: 33b99fe8
Reserving 120 Bytes for Global Data at: 33b99f70
New Stack Pointer is: 33b99f60
RAM Configuration:
Bank #0: 30000000 64 MiB
relocation Offset is: 01faa000
WARNING: Caches not enabled
monitor flash len: 00039A28
dram_bank_mmu_setup: bank: 0
Now running in RAM - U-Boot at: 33faa000
Flash: fwc addr (null) cmd f0 00f0 16bit x 16 bit
fwc addr 0000aaaa cmd aa 00aa 16bit x 16 bit
fwc addr 00005554 cmd 55 0055 16bit x 16 bit
fwc addr 0000aaaa cmd 90 0090 16bit x 16 bit
fwc addr (null) cmd f0 00f0 16bit x 16 bit
JEDEC PROBE: ID 1 2249 0
fwc addr (null) cmd ff 00ff 16bit x 16 bit
fwc addr (null) cmd 90 0090 16bit x 16 bit
fwc addr (null) cmd ff 00ff 16bit x 16 bit
JEDEC PROBE: ID 7e ea00 0
*** failed ***
### ERROR ### Please RESET the board ###
The first stage of modification is completed
reference:
http://blog.csdn.net/reille/article/details/6539616
http://blog.csdn.net/reille/article/details/6539735
http://hi.baidu.com/shanruo2008/blog/item/18c8ef2a9a7353275343c18c.html
http://hi.baidu.com/shanruo2008/blog/item/fbe3d80864ae49ce63d98677.html
Previous article:Getting the ARM instruction set right (Part 2)
Next article:u-boot2011.12 transplantation on mini24402
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- How to use xilinx primitives.pdf
- All useful information! Detailed explanation of the 51 single-chip microcomputer minimum system
- 6-pin power chip personal summary information
- BQ21040 single-cell lithium battery
- 【RPi PICO】Use SPI to drive WS2812
- NB-LOT Learning
- Looking for MPS2307 compatible chip
- Can anyone find the manual for this component?
- 【DFRobot wireless communication module】+GSM communication
- Register for MPS and you will get many surprises, including limited free power modules, motor drive evaluation boards, etc., on a first-come, first-served basis!