当前位置:网站首页>【无标题】
【无标题】
2022-06-29 16:16:00 【weixin_45747542】
嵌入式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 [email protected]:/path/to/destination/directory命令将该文件上传至树莓派上运行.
总结
本次主要练习了嵌入式linux的配置及linux相关命令的使用以及交叉编译和assert断言的基本知识。通过本次练习,提高了我对相关知识的熟练程度。
边栏推荐
- Science: the interrelated causes and consequences of sleep in the brain
- 高级性能测试工程师面试必问十大问题
- Tianlong Babu TLBB series - how to make pets learn twelve full skills
- What are the top level Chinese programmers?
- Self taught programming can understand the code, but what if you can't write it yourself
- STM32按键消抖——入门状态机思维
- 元数据管理Apache Atlas编译集成部署及测试
- 华夏基金:基金行业数字化转型实践成果分享
- 关于组织开展2022年南京市创新产品(第一批)申报工作的通知
- MySQL cdc jobmanager 中存了哪些比较耗内存的数据呢?
猜你喜欢

Cv5200 ad hoc network remote WiFi module, UAV wireless image transmission application, HD low delay scheme

Huaxia Fund: sharing of digital transformation practice achievements in the fund industry

如何配置 logback?30分钟让你彻底学会代码熬夜敲

南京大学:新时代数字化人才培养方案探讨

穩定幣風險狀况:USDT 和 USDC 安全嗎?

真正的测试 =“半个产品+半个开发”?

或许再过两年,ASML将可以自由给中国供应EUV光刻机

论文笔记:E(n) Equivariant Graph Neural Networks

DAP大屏主题开发说明

MySQL基础——事务
随机推荐
技术分享| 融合调度中的广播功能设计
telnet+ftp 对设备进行 操控 和 升级
隐私计算助力数据的安全流通与共享
CV5200自组网远程WiFi模组,无人机无线图传应用,高清低时延方案
Which parameter is the partition information adjusted? The MySQL source stream API is used, not the table API
【Proteus仿真】数码管递加/递减带闪烁消隐显示
进阶 | webgl性能优化初尝
Flutter技术与实战(1)
Locust performance pressure test tool
SAAS服务都有哪些优势
Tianlong Babu TLBB series - how to make pets learn twelve full skills
Sophon Base 3.1 推出MLOps功能,为企业AI能力运营插上翅膀
MySQL foundation - transaction
实践 | 移动端图片上传旋转、压缩的解决方案
Science: the interrelated causes and consequences of sleep in the brain
Sophon KG升级3.1:打破数据间壁垒,解放企业生产力
Profil de risque de monnaie stable: l'usdt et l'USDC sont - ils sûrs?
Differences between virtual hosts, WordPress hosts and virtual hosts
MySQL cdc jobmanager 中存了哪些比较耗内存的数据呢?
What are the financial products suitable for the poor in 2022?