文档详情

4嵌入式系统设计VIVI.ppt

发布:2017-08-19约6.1千字共27页下载文档
文本预览下载声明
嵌入式系统设计 -VIVI的补充 李春杰 建立软件开发环境 1、安装 2、安装Jtag工具链 3、安装开发调试工具:ADS、GDB SC2410的基础 对2410各部分的组成及基本工作方式了解,是进行2410系统设计的基础 SC2410的基础实验一汇编语言编写的LED亮程序实验 实验步骤: 把PC并口和开发板JTAG接口连起来、确保插上“BOOT SEL”跳线、上电 进入LED_ON目录后,执行如下命令生成可执行文件led_on: make 执行命令将led_on写入nand flash i. Jflash-s3c2410 led_on /t=5 ii.当出现如下提示时,输入0并回车: iii.当出现如下提示时,输入0并回车: iv.当再次出现与步骤ii相同的提示时,输入2并回车 按开发板上reset键后可看见LED1被点亮了 实验步骤总地来说分3类:编写源程序、编译/连接程序、烧写代码。 SC2410的基础实验一汇编语言编写的LED亮程序实验 先看看源程序led_on.s: 1 .text 2 .global _start 3 _start: 4 LDR R0,=0@R0设为GPBCON寄存器。此寄存器 @用于选择端口B各引脚的功能: @是输出、是输入、还是其他 5 MOV R1,#0 6 STR R1,[R0] @设置GPB7为输出口 7 LDR R0,=0 @R0设为GPBDAT寄存器。此寄存器 @用于读/写端口B各引脚的数据 8 MOV R1,#0@此值改为0 @可让LED1熄灭 9 STR R1,[R0] @GPB7输出0,LED1点亮 10 MAIN_LOOP: 11 B MAIN_LOOP SC2410的基础实验一汇编语言编写的LED亮程序实验 对于程序中用到的寄存器GPBCON、 GPBDAT GPBCON用于选择PORT B的11根引脚的功能:输出、 输入还是其他特殊功能。 每根引脚用2位来设置:00表示输入、 01表示输出、 10表示特殊功能、11保留不用。 LED1-3的引脚是GPB7-GPB10,使用GPBCON中位[12:13]、[13:14]、[15:16]、 [17:18]来进行功能设置。 GPBDAT用来读/写引脚:GPB0对应位0、 GPB1对 应位1,诸如此类。当引脚设为输出时,写入0或1可使相应引脚输出低电平或高电平。 SC2410的基础实验一汇编语言编写的LED亮程序实验 实验步骤二的说明 实验步骤b中,指令“make”的作用就是编译、 连接led_on.s源程序。 Makefile的内容如下: 1 led_on:led_on.s 2 arm-linux-gcc -g -c -o led_on.o led_on.s 3 arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_tmp.o 4 arm-linux-objcopy -O binary -S led_on_tmp.o led_on 5 clean: 6 rm -f led_on 7 rm -f led_on.o 8 rm -f led_on_tmp.o make指令比较第1行中文件led_on和文件led_on.s的时间,如果led_on的时间比led_on.s的时间旧(led_on未生成时,此条件默认成立),则执行第2、3、4行的指令更新led_on。 您也可以不用指令make,而直接一条一条地执行2、 3、 4行的指令——但是这样多累啊。第2行的指令是预编译,第3行是连接,第4行是把ELF格式的可执行文件led_on_tmp.o转换成二进制格式文件led_on。执行“make clean”时强制执行6、7、8行的删除命令。 SC2410的基础实验二C语言编写的LED亮程序实验 汇编语言可读性太差,现在开始实验二,用C语言来实现同样的功能 SC2410的基础实验二C语言编写的LED亮程序实验 SC2410的基础实验二C语言编写的LED亮程序实验 实验源码分析 C语言程序执行的第一条指令,并不在main函数中。当我们生成一个C程序的可执行文件时,编译器总是在我们的代码前加一段
显示全部
相似文档