u-boot移植总结(二)LED点灯调试 和 u-boot加载地址

发布时间:2024-07-24  

(一)LED点灯调试

FL2440电路总共有4个LED0,LED1,LED2,LED3,分别接到板子GPB5,GPB6,GPB8,GPB10引脚。通过设置三个寄存器GPBCON(0x56000010),GPBDAT(0x56000014),GPBUP(0x56000018),控制GPB[10:0]引脚可控LED的亮灭。

控制LED亮灭有三步:

1,设置GPB5,GPB6,GPB8,GPB10为输出工作方式,即GPBCON [21:20]  = 01 GPBCON [17:16]  = 01,GPBCON [13:12]  = 01,GPBCON [11:10]  = 01

2,GPBUP置0000 0101 0110 0000 即GPB5,GPB6,GPB8,GPB10皆禁止使能上拉

3,设置GPBDAT寄存器,低电平LED亮

例子:

#define GPBCON   0x56000010/*设置GPB5,GPB6,GPB8,GPB10工作方式*/
#define GPBDAT   0x56000014 /*输出端口,控制LED亮灭*/
#define GPBUP     0x56000018 /*禁止使能上拉*/


ldr     r0, =GPBCON  /*Set GPIO5, GPIO6, GPIO8, GPIO10 as GPIO OUTPUT mode   */

ldr      r1, [r0]

ldr      r1, =0x00295550    

str r1, [r0]


ldr r0, =GPBUP  /*Set bit 5,6,8,10, disable pullup resister*/ 

ldr r1, [r0] 

orr r1, r1, #0x0560          /*0000   0101   0110   0000    */

str r1, [r0]


ldr     r2, =GPBDAT

ldr     r3, [r2]

orr     r3, r3, #0x0540     /*Set bit 6,8,10 as high level and bit 5 as low, Turn On LED0*/

str     r3, [r2]


以下附上部分原理图,具体参考s3c2440的datasheet,以及fl2440电路原理图





(二)u-boot加载地址

基于FL2440板子,配有64M的SDRAM,并且挂载到nGCS6(0x3000 0000),所以64M的SDRAM

寻址范围:0x3000 0000 – 0x3400 0000。



在我修改 u-boot-2010.09/board/lingyun/ly2440/config.mk文件如下:



# (C) Copyright 2002
# Gary Jennejohn, DENX Software Engineering, 
# David Mueller, ELSOFT AG, 
#
# SAMSUNG SMDK2410 board with S3C2410X (ARM920T) cpu
#
# see http://www.samsung.com/ for more information on SAMSUNG
#

#
# SMDK2410 has 1 bank of 64 MB DRAM
#
# 3000'0000 to 3400'0000
#
# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000
# optionally with a ramdisk at 3080'0000
#
# we load ourself to 33F8'0000
#
# download area is 3300'0000



TEXT_BASE = 0x33F80000






总结:

1,Linux系统自启过程中,u-boot默认加载到 0x33f8 0000运行, Linux-Kernel则默认加载到0x3000 8000运行。

2,用J-TAG调试阶段,u-boot临时下载到0x33f8 0000运行。

3,在移植阶段,需把u-boot和Linux-Kernel烧写到NANDFLASH,但是不能直接烧写。所以先TFTP下载到内存,

     再由内存下载到NANDFLASH,因此临时下载到0x3000 8000地址,并且不会覆盖已经运行的u-boot(通过J-TAG

     下载到地址0x33f8 0000运行,由0x3000 8000到0x33f8 0000 为15M空间,本次u-boot和Linux-Kernel大小都小于15M)

4,总之,移植过程J-TAG下载阶段借用0x33f8 0000地址下载;TFTP下载阶段借用0x3000 8000地址下载。

      也可以用其他地址临时烧写,但是必须保证不能冲突,覆盖已经运行的u-boot。



文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>