我用的是TQ2440,移植的是2012.04.01版本的Uboot
我的步骤:(基本上是跟着视频的操作)
1、建立单板目录
cp board/samsung/smdk2410/ board/samsung/smdk2440/ -rf
2、建立配置文件
cp include/configs/smdk2410.h include/configs/smdk2440.h
3、添加单板支持
修改boards.cfg
4、修改时钟
1)把 board_early_init_f 里的时钟配置注释掉
2)start.S
/* 2. 设置时钟 */
ldr r0, =0x4c000014
// mov r1, #0x03; // FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1
mov r1, #0x05; // FCLK:HCLK:PCLK=1:4:8
str r1, [r0]
/* 如果HDIVN非0,CPU的总线模式应该从“fast bus mode”变为“asynchronous bus mode” */
mrc p15, 0, r1, c1, c0, 0 /* 读出控制寄存器 */
orr r1, r1, #0xc0000000 /* 设置为“asynchronous bus mode” */
mcr p15, 0, r1, c1, c0, 0 /* 写入控制寄存器 */
#define S3C2440_MPLL_400MHZ ((0x5c<<12)|(0x01<<4)|(0x01))
/* MPLLCON = S3C2440_MPLL_200MHZ */
ldr r0, =0x4c000004
ldr r1, =S3C2440_MPLL_400MHZ
str r1, [r0]
/* 启动ICACHE */
mrc p15, 0, r0, c1, c0, 0 @ read control reg
orr r0, r0, #(1<<12)
mcr p15, 0, r0, c1, c0, 0 @ write it back
5、修改内存 lowlevel_init.S
.long 0x22011110 //BWSCON
.long 0x00000700 //BANKCON0
.long 0x00000700 //BANKCON1
.long 0x00000700 //BANKCON2
.long 0x00000700 //BANKCON3
.long 0x00000700 //BANKCON4
.long 0x00000700 //BANKCON5
.long 0x00018005 //BANKCON6
.long 0x00018005 //BANKCON7
.long 0x008C04F4 // REFRESH
.long 0x000000B1 //BANKSIZE
.long 0x00000030 //MRSRB6
.long 0x00000030 //MRSRB7
6、配置,编译,拷贝到 tftp 服务器目录
7、到这里为止,下面是我在
开发板原有的 Uboot 上的操作:
1)tftp 30000000 u-boot.bin ---- 把u-boot.bin 下载到内存
2)protect off all ---- 这条命令是把 nor flash 的写保护去掉
3)erase 0 7ffff ---- 擦除 nor 的前 512 字节
4)cp.b 30000000 0 80000 ---- 把 Uboot 烧写到 nor
8、重启开发板
9、secureCRT没有任何输出,正常的话,串口没有完全正确初始化,也会有输出(视频上演示,输出的是乱码),但是我这里啥都没有,是什么原因??
10、天啊,心好累啊!