嵌入式linux及交叉编译练习
一、树莓派嵌入式linux环境配置
1.下载相关工具及系统镜像
前往树莓派官网下载适合当前系统的烧录器,根据提示安装好该烧录器,然后启动。选择所需操作系统,在弹出界面中选择的二项,根据需要选择所需系统。
2.格式化sd卡并将系统镜像烧录至该sd卡
- 将SD插入到读卡器中,接着将读卡器插到电脑上。
- 打开sd卡格式化工具
- 选择需要格式化的SD卡,将该sd卡格式化
- 在烧录器中选择sd卡,开始烧录
3.配置网络
本次使用手机热点,主要步骤如下
1.在电脑上,打开刚才烧录镜像的SD卡
2.在boot目录下,建立一个ssh的空文件
3.在boot目录下,建立文件,文件名命名为wpa_supplicant.conf
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="无线网名称"
psk="无线网密码"
key_mgmt=WPA-PSK
priority=1
}
4.将SD卡插入树莓派中,同时打开手机热点和给树莓派接上电源
可以在手机上查看得到树莓派的ip地址
二、assert断言练习
1.编写代码
通过ssh登录Linux,通过nano编写代码如下
通过gcc -o hello hello.c
编译该文件,然后执行该文件。
2.测试使用
当断言为假时,结果如下
当断言为假时,程序会直接报错退出,后续不会执行。如果断言为真,则后续代码会正常执行
assert断言只在软件的debug中生效,在其他版本中不会生效。合理使用assert可以使得代码更容易调试。
三.交叉编译
1.在github上下载相关工具,下载zip,将其传输至linux或树莓派上,通过unzip命令解压该压缩包。此时进入./tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin,该目录下有我们需要的交叉编译gcc文件。在通过nano ~/.bashrc
,在其最后添加PATH=$PATH:~/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
~处为文件该tools-master文件夹所在目录,然后使用source ~/.bashrc
使更改生效。
2.通过ln -s a b
创建软连接,a为原文件,b为目标文件,我们需要将树莓派中的wiringpi库在当前系统中的/usr/local/lib/中创建软连接供交叉编译工具使用。
3.通过交叉编译工具编译源文件,通过scp /path/to/source/file user@server-ip:/path/to/destination/directory
命令将该文件上传至树莓派上运行.
总结
本次主要练习了嵌入式linux的配置及linux相关命令的使用以及交叉编译和assert断言的基本知识。通过本次练习,提高了我对相关知识的熟练程度。