微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式项目中使用Linux有哪些技巧?

嵌入式项目中使用Linux有哪些技巧?

时间:09-27 来源:互联网 点击:

串行调试器(serialconsole)连接到目标电路板(外部RX=>PC10、外部TX=>PC11、115200bits/s、8个数据位、无奇偶校验、1个停止位模式),然后按下复位按钮,该μClinux项目启动运行。开机输出显示在串行调试器上,显示屏出现Linux的企鹅标识。

  步骤5:创建“你好,世界”应用

现在,按照代码示例和下面的说明,将一个用户应用添加到μClinux项目中。

创建:“stm32f429-linux-builder-master/user/src/hello.c”文件:

#include

intmain(){

printf(“Hello,world\n”);

return0;

}

必要时使用Tab键,创建:“stm32f429-linux-builder-master/user/Makefile”文件:

CC=$(CROSS_COMPILE)gcc

LDFLAGS?=$(CFLAGS)

target_out?=out

all:checkdirs

[Tab]$(CC)$(LDFLAGS)src/hello/hello.c-o$(target_out)/bin/

hello$(LDLIBS)

[Tab]-rm-rf$(target_out)/bin/*.gdb

checkdirs:

[Tab]mkdir-p$(target_out)/bin

clean:

[Tab]-rm-rf$(target_out)

通过activate.sh脚本,在不激活交叉编译环境下,在主机测试“Hello,world”这个应用。

在/user文件夹下,输入:

makeall

./out/bin/hello

为将hello.c嵌入到LinuxBuildroot里的脚本,修改mk/rootf.mak文件,必要时,使用Tab键。(粗体字表示新行开始处):

...

user_hello:

[Tab]make-C$(user_dir)CROSS_COMPILE=$(CROSS_

COMPILE)CFLAGS=$(ROOTFS_CFLAGS)target_

out=$(target_out_user)

$(rootfs_target):$(rootfs_dir)$(target_out_busybox)/.config

user_hello

[Tab]cp-af$(rootfs_dir)/*$(target_out_romfs)

[Tab]cp-f$(target_out_kernel)/fs/ext2/ext2.ko$(target_out_romfs)/lib/modules

[Tab]cp-f$(target_out_kernel)/fs/mbcache.ko$(target_out_romfs)/lib/modules

[Tab]cp-f$(target_out_user)/bin/*$(target_out_romfs)/usr/bin

需对mk/defs.mak文件做最后修改。加入以下几行:

...

user_dir:=$(root_dir)/user

target_out_user:=$(target_out)/user

user_dir:=$(root_dir)/user

target_out_user:=$(target_out)/user

一旦在目标MCU上建成、下载并运行映像,就可在/usr/bin目录中找到该应用程序以及其它已有的应用程序。在连接到Discovery板的终端上键入“hello[回车]”,可对该应用进行测试。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top