编辑: 黎文定 2019-07-15

3 条指令. crt0.s 代码:

1 .text

2 .global _start

3 _start:

4 ldr sp, =1024*4 @设置堆栈,注意:不能大于 4k @nand flash 中的代码在复位后会 @移到内部 ram 中,它只有 4k

5 bl main @调用 C 程序中的 main 函数

6 halt_loop:

7 b halt_loop 现在,我们可以很容易写出控制 LED 的程序了,led_on_c.c 代码如下:

1 #define GPBCON (*(volatile unsigned long *)0x56000010)

2 #define GPBDAT (*(volatile unsigned long *)0x56000014)

3 int main()

4 {

5 GPBCON = 0x00004000;

//设置 GPB7 为输出口

6 GPBDAT = 0x00000000;

//令GPB7 输出

0 7 return 0;

8 } 最后,我们来看看 Makefile:

1 led_on_c : crt0.s led_on_c.c

2 arm-linux-gcc -g -c -o crt0.o crt0.s

3 arm-linux-gcc -g -c -o led_on_c.o led_on_c.c

4 arm-linux-ld -Ttext 0x0000000 -g crt0.o led_on_c.o -o led_on_c_tmp.o

5 arm-linux-objcopy -O binary -S led_on_c_tmp.o led_on_c

6 clean:

7 rm -f led_on_c

8 rm -f led_on_c.o

9 rm -f led_on_c_tmp.o

10 rm -f crt0.o 第

2、3 行分别对源程序 crt0.s、led_on_c.c 进行预编译,第4行将预编译 得到的结果连接起来, 第5行把连接得到的 ELF 格式可执行文件 led_on_c_tmp.o 转换成二进制格式文件 led_on_c. 好了,可以开始上机实验了: 实验步骤: a.进入 LED_ON_C 目录后,执行如下命令生成可执行文件 led_on_c: make b.执行如下命令将 led_on_c 写入 nand flash: i. Jflash-s3c2410 led_on_c /t=5 ii.当出现如下提示时,输入

0 并回车:........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题