基于S3C6410的ARM11学习(十二) 代码拷贝及led测试输入日志

发布者:BlissfulBliss最新更新时间:2021-02-09 来源: eefocus关键字:S3C6410  ARM11  代码拷贝  led测试 手机看文章 扫描二维码
随时随地手机看文章

之前已经将ddr进行初始化了,这样就可以使用ddr了。首先就要将代码从stepping stone拷贝到ddr中。最后在ddr中运行程序。如果外部nandflash还有剩余的程序,还要将剩下程序拷贝到ddr中。


Stepping stone的起始地址是0x0c000000,DDR的起始地址是0x50000000。在上电的时候,CPU会自动把NANDFLASH的前8K代码拷贝到stepping stone中。但是现在写的代码是比较小的,还没有超过4K。所以这里就设定拷贝的代码是前4K代码。


这样,代码就比较好写了。

     clip_image002

R0保存的是stepping stone的起始地址,r1保存的是要拷贝的ddr的地址,这里地址是0x50008000,为什么不是0x5000_0000了。这个是因为链接脚本设定的链接地址就是0x50008000。

clip_image003

在链接脚本中,设定的链接起始地址是0x50008000。之后的代码都是以这个地址作为起始地址进行链接。所以ddr的起始地址要设定为这个。这样的话,绝对跳转才能跳转成功。


clip_image005

上图是反汇编出来的代码。可以看到第一行代码的地址就是50008000。


设置r3为r0的地址加上1024*4,表示stepping stone的4K大小代码处的地址。后面代码就是从stepping stone中取出数据,存在ddr中。地址依次加一。直到判断目前在stepping stone的地址和4K大小代码地址一样,就说明程序拷贝完毕。程序就返回了。


这样ddr初始化和代码拷贝的工作就结束了。下面就要对这个代码进行测试了,看看代码是否写的正确。简单的测试方法,就是将之前的流水灯的代码放到ddr初始化和代码拷贝代码之后。

clip_image006

把程序下到开发板中去,能看到灯是在不停的闪烁的。就说明ddr初始化和代码拷贝目前是没有问题的。


后面就要初始化c语言环境,也就是设置栈和对bss段清零。然后跳转到c代码去运行。


关键字:S3C6410  ARM11  代码拷贝  led测试 引用地址:基于S3C6410的ARM11学习(十二) 代码拷贝及led测试输入日志

上一篇:基于S3C6410的ARM11学习(十三) C语言环境初始化
下一篇:基于S3C6410的ARM11学习(十一) DDR初始化

推荐阅读最新更新时间:2024-11-02 19:57

WINCE6.0+S3C6410 watchdog重新启动
// File: watchdog_sw_rst.c // // Samsung SMDK6410 SW_RST using watchdog timer support code. // #include windows.h #include ceddk.h #include oal.h #include s3c6410.h // WTCON - control register, bit specifications #define WTCON_PRESCALE(x) (((x)&0xff) 8) // bit 15:8, prescale value, 0 = (x) = 27 #define WTCON_ENABLE (
[单片机]
LED测试基础知识解答
LED 为什么要 测试 欧姆? 有些公司生产LED的,但是没有测试欧姆这一个项目,只有测试电流、电压,当然根据这2个参数也可以算出这个时候的静态欧姆,计算公式:I=U/R。 理由是什么? 可以用来表达LED的伏安曲线,也就是电压电流的变化曲线,普通线性电阻一般是直线,但是LED是二极管特性,所以不是直线是上升的曲线,同时表明LED欧姆变化。 LED欧姆值会影响LED的什么? 不同LED不同的欧姆,会影响LED的功耗,电阻欧姆大的LED在工作电流一样的情况下,小 功率 一般为20MA,大功率一般为350MA,电压相对大一点,比如一个3.2V,一个就是3.4V了,功率P=UI,功耗就大了,想 LED灯
[电源管理]
linux中LCD设备驱动(5)——基于s3c6410平台
在前几篇中对LCD平台设备所对应的probe函数进行分析时,对一些函数没有进行详细的分析,因为当时主要是为了突出probe函数的整体结构,现在我们对一些函数进行再次详细点的分析。 (1)、 void s3cfb_pre_init(void) { /* initialize the fimd specific */ s3cfb_fimd.vidintcon0 &= ~S3C_VIDINTCON0_FRAMESEL0_MASK; s3cfb_fimd.vidintcon0 |= S3C_VIDINTCON0_FRAMESEL0_VSYNC; s3cfb_fimd.vidintcon0 |= S3C_VIDINTCON0_INT
[单片机]
linux中LCD设备驱动(5)——基于<font color='red'>s3c6410</font>平台
S3C6410中断以及外部中断
6410的中断系统: 嵌入式软件里的中断处理,除了中断初始化,主要工作就是编写ISR. 在嵌入式的SOC的CPU里,在CPU里内部会带一些设备模块,它们产生的中断称为内部中断。因为联线比较固定,因此编程比较简单。而且在物理上CPU分离的芯片产生的中断,称为外部中断,外部中断可以联接不同的中断脚上,因此需要对中断IO进行较复杂的配置。 轮询模式是否一无是处?轮询的优点是在重负荷的情况下,轮询比中断效率会高很多。比如一个教室很多学生不断的问问题,这样与其不断被中断,老师还不如起身在教室走动,随机处理学生问题会高很多。 异常(Exception) -----------------------------------
[单片机]
<font color='red'>S3C6410</font>中断以及外部中断
LED光源和灯具测试标准的制定
  LED光源和灯具近些年在照明工程中的应用越来越普遍,但由于缺乏相关的标准,LED照明产品种类虽多,品质却参差不齐。随着LED照明产业的快速发展,国际、国内均开始重视相关测试标准的制定。     一、国际标准制定现况     当前,美国国家标准检测研究所(NIST)正在开展LED测试方法的研究,准备建立整套的LED测试方法和标准;日本也成立了“白光LED测试研究委员会”,专门研究照明用白光LED的测试方法和技术标准。世界发达国家为了抢占LED产业先机,在LED标准和测试方面都投入了大量的人力物力,在标准方面注重选择LED特性参数及测试方法研究。同时,许多国外大公司的研究和开发人员正在积极参与国家和国际专业化组织,制订半导
[电源管理]
高亮度LED生产环节的全方位测试
高亮发光二极管(High brightness light emitting diodes,HBled)综合具备了高输出、高效率和长寿命等优势。制造商们正在开发可以实现光通量更高、寿命更长、色彩更丰富而且单位功率发光度更高的器件。要确保其性能和可靠性,就必须在生产的每个阶段实施精确的、成本经济的测试。   图1示出了典型的二极管的电I-V特性曲线。虽然一个完整的测试程序可以包括数百个点,但对一个有限的样本的探查一般就足以提供优值。许多HBLED测试需要以一个已知的电流信号源驱动器件并相应测量其电压,或者反过来。同时具备了可同步动作的信号源和测量功能可以加速系统的设置并提升吞吐率。测试可以在管芯层次(圆片和封装)或者模块/子
[电源管理]
高亮度<font color='red'>LED</font>生产环节的全方位<font color='red'>测试</font>
全方位解析LED芯片寿命测试
作为电子元器件,发光二极管已出现40多年,但长久以来,受到发光效率和亮度的限制,仅为指示灯所采用,直到上世纪末突破了技术瓶颈,生产出高亮度高效率的 LED 和兰光LED,使其应用范围扩展到信号灯、城市夜景工程、全彩屏等,提供了作为 照明 光源的可能性。随着LED应用范围的加大,提高LED可靠性具有更加重要的意义。LED具有高可靠性和长寿命的优点,在实际生产研发过程中,需要通过寿命试验对 LED芯片 的可靠性水平进行*价,并通过质量反馈来提高LED芯片的可靠性水平,以保证LED芯片质量,为此在实现全色系LED产业化的同时,开发了LED芯片寿命试验的条件、方法、手段和装置等,以提高寿命试验的科学性和结果的准确性。 寿命试验条件
[电源管理]
全方位解析<font color='red'>LED</font>芯片寿命<font color='red'>测试</font>
LED:控制发光二极管
1、LED驱动实现原理,如图: 2、编写LED驱动 (1)创建LED驱动的设备文件   第一步:使用cdev_init函数初始化cdev   第二步:指定设备号   第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中   第四步:使用class_create宏创建struct class   第五步:使用device_create函数创建设备文件   #define DEVICE_NAME s3c6410_leds   //定义设备文件名称   #define DEVICE_COUNT 1  //创建设备文件的数量   #define S3C6410_LEDS_MAJOR 0  //默认主设备号   #de
[单片机]
<font color='red'>LED</font>:控制发光二极管
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved