国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

U-boot-2009.08移植TE2440II開發(fā)板--在SDRAM中運行

發(fā)布時間:2011-3-23 13:42    發(fā)布者:techshare
關(guān)鍵詞: SDRAM , TE2440II , U-BOOT , 開發(fā)板 , 移植
因為串口的波特率問題糾結(jié)了我2天,嘿嘿。   
1.首先創(chuàng)建自己板子的目錄   
cd u-boot-2009.08   
mkdir board/samsung/TE2440II   
cp board/samsung/smdk2410/* board/samsung/TE2440II/   
mv board/samsung/TE2440II/smdk2410.c board/samsung/TE2440II/TE2440II.c   
2.添加配置文件   
cp include/configs/smdk2410.h include/configs/TE2440II.h   
在include/configs/smdk2410.h include/configs/TE2440II.h中添加   
#define CONFIG_SKIP_LOWLEVEL_INIT???????? 1???
因為是先在SDRAM中運行,所以要跳過底層的初始化。暫時沒有添加CONFIG_2440,用原來的CONFIG_2410,以提高移植速度。   
注意暫時不要添加#define CONFIG_SKIP_RELOCATE_UBOOT??? 1     
否則就要更改你的下載地址為0x33f80000,讓他去搬運代碼吧   
3.修改board/samsung/TE2440II/ 目錄下的Makefile,把COBJS := 修改為   
COBJS??? := TE2440II.o flash.o   
4.修改頂層Makefile   
TE2440II_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t TE2440II samsung s3c24x0   
注意有個Tab鍵   
5. 修改頂層Makefile文件,在CROSS_COMPILE ?=后面添加自己的交叉編譯工具。   
CROSS_COMPILE ?= /usr/local/arm/4.3.2/bin/arm-linux-   
6.完成這幾步后編譯一下   
make TE2440II_config   
make     
下到SDRAM中,終端應(yīng)該沒有任何信息,需要設(shè)置波特率。     
1.修改TE2440II.c文件   
#elif FCLK_SPEED==1  /* Fout = 405MHz */   
#define M_MDIV  0x7f   
#define M_PDIV  0x2   
#define M_SDIV  0x1   
#endif   
2.??? 修改cpu/arm920t/start.S   
外部晶振為12MHz,通過MPLLCON設(shè)置MPLL為405M   
#if defined(CONFIG_S3C2410)   
#define MPLLCON 0x4C000004   
#define UPLLCON 0x4c000008   
#define LOCKTIME 0x4C000000   
#define CAMDIVN? 0x4C000018     
ldr r0,=LOCKTIME   
ldr r1,=0xffffffff   
str r1,[r0]   
//清除攝像頭分頻寄存器的值
ldr r0,=CAMDIVN
mov r1,#0   
str r1,[r0]   
ldr r0, =CLKDIVN   
mov r1, #5   
str r1,[r0]   
//手冊說HDIVN不為0,加這個   
mrc p15, 0, r1, c1, c0, 0  //read ctrl register
orr r1, r1, #0xc0000000 //Asynchronous     
mcr? p15, 0, r1, c1, c0, 0  //write ctrl register   
ldr r0, =UPLLCON  //同時修改UPLLCON和MPLLCON需要先修??
ldr r1, =0x00038022  //改UPLLCON,且之間要間隔至少7個nop     
str r1,[r0]  //手冊有些   
nop
nop   
nop   
nop   
nop   
nop   
nop   
nop   
ldr r0, =MPLLCON   
ldr r1, =0x0007f021   
str r1,[r0]   
#endif
3. 修改cpu/arm920t/s3c24x0/speed.c   
由于S3C2440和S3C2410的MPLL計算公式改變了,所以要改一下。   
get_PLLCLK改成這樣   
static ulong get_PLLCLK(int pllreg)   
{   
S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER();   
ulong r, m, p, s;   
if (pllreg == MPLL)   
r = clk_power->MPLLCON;   
else if (pllreg == UPLL)   
r = clk_power->UPLLCON;   
else   
hang();   
m = ((r & 0xFF000) >> 12) + 8;   
p = ((r & 0x003F0) >> 4) + 2;   
s = r & 0x3;   
if (pllreg == MPLL) //MPLL的算法和UPLL是不同的。這里m=2*m   
{   
m <<= 1;   
}   
p = ((r & 0x003F0) >> 4) + 2;   
s = r & 0x3;   
return ((CONFIG_SYS_CLK_FREQ * m) / (p << s));   
}   
get_HCLK改成這樣   
/* return HCLK frequency */   
ulong get_HCLK(void)   
{   
??? S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER();   
??? return get_FCLK()/4;   
??? //return((clk_power->CLKDIVN & 0x2) ? get_FCLK()/2 : get_FCLK());   
}   
get_PCLK改成這樣   
/* return PCLK frequency */   
ulong get_PCLK(void)   
{   
S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER();   
return get_HCLK()/2;   
//return((clk_power->CLKDIVN & 0x1) ? get_HCLK()/2 : get_HCLK());   
}   
4.??? 我出問題的地方是串口,顯示的基本跟正常的一樣,但是顯示為亂碼,是串口波特率的問題。在drivers/serial/serial_s3c24x0.c中,修改   
uart->UBRDIV = 27;   
我直接設(shè)定了,不用鳥u-boot再鳥算了,他自己怎么也算不對,我?guī)退?nbsp;  
5.??? make TE2440II_config   
?????? make     
下載到SDRAM中,哈哈。



李萬鵬
本文地址:http://www.qingdxww.cn/thread-59526-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 我們是Microchip
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設(shè)計風(fēng)險
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • 更佳設(shè)計的解決方案——Microchip模擬開發(fā)生態(tài)系統(tǒng)
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日日夜夜摸 | 久草综合视频在线 | 亚洲欧美日韩高清在线看 | 台湾精品视频在线播放 | 国产高清免费不卡观看 | 色噜噜狠狠色综合久 | 91麻豆国产视频 | 国产精品好好热在线观看 | 久久亚洲国产高清 | 美国免费黄色片 | 四虎永久免费884hutv | 草草久久97超级碰碰碰免费 | 免费观看老外特级毛片 | 国产自线一二三四2021 | 免费在线色视频 | 四虎在线视频免费观看 | 国产又黄又a又潮娇喘视频 国产又粗又爽又大又长免费视 | 三区在线观看 | 啦啦啦www高清在线观看影院 | 国产精品国产欧美综合一区 | 欧美日韩国产一区三区 | 久久国产精品高清一区二区三区 | eeuss免费天堂影院 | 精品自拍视频 | 午夜免费观看福利片一区二区三区 | 欧美日韩精品国产一区在线 | 日韩在线免费 | 免费手机黄色网站 | 成人在线综合网 | 4虎影院最近地址 | 国产欧美亚洲另类第一页 | 一级特黄高清完整大片 | 精品国产免费观看一区高清 | 国产黄色免费观看 | 亚洲国产成人精品青青草原100 | 国产一区二区三区高清 | 久久国产精品久久国产片 | 欧美成视频在线观看 | 精品综合久久久久久8888 | 91久久国产视频 | 麻豆精品久久久一区二区 |