从零到第一个裸板程序的过程

原创 2015年07月10日 14:47:58


         第一次真正意义上的接触嵌入式开发,并没有之前接触软件开发那么的顺利,过程复杂,涉及的知识广是嵌入式门槛高的部分原因。一开始接触,我不断地在找概念,现在特在此将我的一些经验记录下来,以便不时之需,也提供给各位参考。

说明:我是用的开发板是 ARM9 的S3C2440 ,系统环境是 xp + linux 。

 

1.      安装ADS,我的环境是在xp下,我安装的是ADS1.2,安装过程可以在网上搜索。(具体安装过程不予介绍)

2.      在linux 系统下安装gcc,如果读者安装了ADS windows下的集成开发环境,那么这一步可以忽略,如果想要深入一点,那么还是建议把这一步做了。(具体安装过程不予介绍)

 

3.      到这里我们就可以编写我们的程序并得到我们要的文件(如 hello.bin): (1)如果用户使用的是ADS环境,那么可以在ADS下编写程序并make生成我们需要的.bin 文件。(2)如果用户更偏好于linux下,那么,可以直接编写汇编文件和c文件,并通过makefile 来编写我们的编译规则,最后生成我们要的 .bin 文件。

在这里我采用的是在linux下操作。

如图所示:

3-1 首先新建一个led1.s 文件,读者可以自行定义文件名,并编写代码如下:

读者请注意,以下代码适用于s3c2440开发板,其他板请阅读相关的文档。

 

3-2 新建MakeFile 文件。并输入以下规则:

 

 

3-3执行make 进行编译。如果对于linux 下的makefile 不熟悉,请自行学习。


3-4编译后的文件概况。

编译后将会生成:led1.dis ,led1.elf ,led1.o,led1.bin。led1.bin 即是我们想要得到的。

 

 

 

 

4.      在第三步得到了我们要的hello.bin 文件后,接下来就是要将hello.bin烧录到我们开发板上。所以这一步先将我们的开发板连接上电脑,这里针对的是TQ2440开发板,(1)开发板连接上电源;(2)我们需要连接USB转串口线到电脑,再用串口延长线连接TQ2440开发板的串口;(3)再将USB延长线连接 USB Slave 口。如图:

 

 

5.      硬件连接后,后面就是驱动安装:(1)由于我们开发板连接到电脑上采用的是USB转串口的方式(由上第4步可以看出),所以我们需要安装USB转串口的驱动,这里可以安装厂商提供的驱动,也可以使用方式来安装,我采用的方式是用驱动精灵安装这个驱动。(2)另外我们还需要安装USB下载驱动(开发板上会配送有),只有安装了才能将我们的文件通过usb烧到开发板。如图:

USB转并口驱动,说来我也迷惑为什么不是USB转串口?


无所谓,只要能出现下图就OK啦,表示com连接上了,注意到这里是COM3下面会用到


接下来就是安装TQ2440_USB下载驱动:


 

说明:只要两根线连接上电脑,如果是没有装过驱动的,会自动提示安装,读者要做的是选择我们需要的驱动进行安装即可。

6.      打开SecureCRT ,通过SecureCRT 来配置COM 。使开发板能够与dnw(下一步说dnw)链接上。

第一次打开SecureCRT是会跳到下面的界面:我们将它配置成下面的形式,注意这里用到了上面提过的COM3。

点击Connect ,如果成功会是下面的界面。

7.          安装和配置dnw 下载软件:安装dnw后,(1)打开软件;(2)选择菜单栏的”参数配置-选项” , 配置信息


配置完后确定。

(3)选择菜单栏的”串口-连接“,连接成功后如图:


此时,COM3连接成功。

 

 

 

 

8.      在这里我们可以将.bin文件烧录到开发板上了。烧录的过程如下:

拨动Nor/Nand选择开关,选择Nor flash 启动。打开电源,dnw 如下:

 

 

 

 

我们输入a, 如图:


此时选择DNW菜单栏的”USB下载-UBOOT-选择文件“选择我们的.bin所在路径,我的是led1.bin。

出现上图表示已经烧录成功了,接下来选择Nand flash 重新启动开发板,就可以看到led1和led2灯亮了。


最后附上代码:http://download.csdn.net/detail/u014699958/8887341

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

tiny4412-arm嵌入式开发裸板驱动 (二):arm基础GPIO操作

GPIO:General Purpose Input/Output (GPIO) Control 具体查阅exynos4412手册第六章或google GPIO 本章介绍操作GPIO相关寄存器实现...

从零开始写一个arm下的裸板程序

从零开始写一个arm下的裸板程序.我们整个程序是基于uboot运行的. 所有我们可以借助uboot中的printf来输出,默认开发版的标准输出是串口. 电脑的默认标准输出的屏幕. 1.需要创建的文...

从零开始写一个arm下的裸板程序

从零开始写一个arm下的裸板程序.我们整个程序是基于uboot运行的. 所有我们可以借助uboot中的printf来输出,默认开发版的标准输出是串口. 电脑的默认标准输出的屏幕. 1.需要创建的文...

AM335x u-boot启动流程问题

http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/17341.aspx AM335x u-...

arm 裸板程序编译过程

看过编译原理的人都知道我们一句简单的arm-linux-gcc 到达做了哪些工作。他并不是简单的把我们的原文件编译成我们可执行的二进制文件,在这个过程中他其实至少做了两部工作。“编译”和链接“当然这其...

JZ2440裸板程序烧写资料

  • 2017年07月04日 10:25
  • 124KB
  • 下载

S3C2440裸板程序

  • 2017年07月31日 22:32
  • 617KB
  • 下载

使用ARM DS-5的debugger进行ARM的裸板程序的开发,调试,优化

一、首先硬件连接:从debugger的userguide中可以看到: 我们需要以下的工作:①首先开发板上电,保证开发板开始工作②确保debug hardware adapter (此处是指DSTR...

ok6410第一个裸板程序led

开发环境: 系统:ubuntu 10.04.4 单板:ok6410 编译器:arm-linux-gcc-4.3.2 搭建开发环境详见ubuntu 10.04.4开发环境配置。 目标:实现ok...

s5pc100第一个裸板程序led

开发环境: 系统:ubuntu 10.04.4 单板:s5pc100 (CES-C100) 编译器:arm-linux-gcc-4.3.2 搭建开发环境详见ubuntu 10.04.4开发环境...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从零到第一个裸板程序的过程
举报原因:
原因补充:

(最多只允许输入30个字)