文件名:main.c
作者:左仲恺
版本:V1.0
说明:I.MX6U开发板裸机实验14串口打印实验
程序调试。
论坛:
日志:初版V1.0 2019/1/15 左仲凯创建
****************************************************** *** *************/
1#“.h”
2#“.h”
3#“.h”
4#“.h”
5#“.h”
6#“.h”
7#“.h”
8#“stdio.h”
10
15int main(空)
16{
17状态=关闭;
18 整数a,b;
19
20();
21();
22();
23();
24();
25();
26();
27
28 同时 (1)
29{
30("输入两个整数,用空格分隔:");
31 scanf("%d %d",&a,&b);
32 ("\r\n数据 %d + %d = %d\r\n\r\n", a, b, a+b);
33
34状态=! 状态;
35(LED0,状态);
36}
37
38;
39}
第30行使用函数输出提示信息,第31行使用函数scanf等待键盘输入两个整数。 第 32 行使用一个函数来输出两个整数的和。 程序虽然简单,但是可以验证scanf和scanf这两个函数工作正常。
22.4 编译、下载和验证 22.4.1 编写和链接脚本
修改为添加“stdio/”,添加“stdio/lib”,修改如下:
示例代码 22.4.1.1 文件代码
1 ?=arm-linux--
2 ?=
4
6 := \
7 stdio/ \
8 bsp/时钟 \
9 bsp/led \
10 bsp/延迟 \
11 bsp/嘟嘟 \
12 bsp/gpio \
13 桶/匙 \
14 桶/出口 \
15 桶/吨 \
16 汤匙/ \
17 汤匙/ \
18 bsp/UART
19
20 := \
21 stdio/lib \
22 bsp/时钟 \
23 bsp/led \
24 bsp/延迟 \
25 伯斯/蜂鸣\
26 bsp/gpio \
27 桶/匙 \
28 桶/出口\
29 桶/吨 \
30 汤匙/ \
31 汤匙/ \
32 比特/UART
33
34
35
36$(COBJS): obj/%.o : %.c
37$(CC) -Wall -Wa,--it=拇指 - -fno- -c -O2 $() -o $@ lt;
38
39 干净:
40 rm -rf $().elf $().dis $().bin $(COBJS)$(SOBJS)
第2行将变量修改为“”,即目标名称为“”。
第 7 行将 stdio 相关头文件 (.h) 路径添加到变量中。
第 28 行将 stdio 相关文件 (.c) 路径添加到变量中。
第37行在编译C文件时添加选项“-Wa,--it=thumb”,否则会出现类似如下的错误信息:
拇指位于 IT 块中——“addcs r5,r5,#65536”
链接描述文件保持不变。
22.4.2 编译下载
使用Make命令编译代码。 编译成功后,使用软件将编译好的.bin文件下载到SD卡中。 命令如下:
chmod 777 //给予可执行权限,一次
./ .bin /dev/sdd //烧录到SD卡
烧写成功后,将SD卡插入开发板的SD卡槽,打开,建立连接,然后复位开发板。 显示如图22.4.2.1所示:
图22.4.2.1 默认显示界面
根据图22.4.2.1所示的提示,输入两个整数,中间用空格分隔,输入完成后按“Enter”键,结果如图22.4.2.2所示:
图22.4.2.2 计算输入结果显示
从图22.4.2.2可以看出,输入32和5,这两个整数,然后计算出32+5=37。 计算和显示正确,说明格式化函数已经移植成功,以后我们就可以用它来调试程序了。