学习目标
了解开发过程
学习内容
1、交叉编译器
概念: 在x86架构上编译arm架构的代码
(linaro公司)
2、linux开发环境
最初:windows(串口)+linux(编译)
最终:ubuntu系统开发
linux远程连接开发板(ssh)
ssh root@192.168.1.13(开发板ip)
ip通过ifconfig查看
在linux下挂载同一个目录
ubuntu:
sudo /etc/init.d/nfs-kernel-server start
开发板:
mount -t nfs -o nolock,nfsvers=3 192.168.1.6(电脑的ip):/home/wyd/linux/mnt /mnt
bug1:连接超时
解决方法:sudo apt install nfs-kernel-server
bug2:开发板出现mount.nfs: requested NFS version or transport protocol is not supported
ubuntu出现[....] Starting nfs-kernel-server (via systemctl): nfs-kernel-server.serviceJob for nfs-server.service canceled. failed!
ubuntu配置问题
sudo vim /etc/exports
在里面添加
/home/wyd/linux/mnt /mnt *(rw,sync,no_root_squash)
#* 表示允许任何网段 IP 的系统访问该 NFS 目录
第一个程序编写
hello.c
x86架构下编译: gcc -o hello hello.c
运行:./hello
GCC 编译器的编译流程是:预处理、编译、汇编和链接。
预处理就是展开所有的头文件、替换程序中的宏、解析条件编译并添加到文件中。
编译是将经过预编译处理的代码编译成汇编代码,也就是我们常说的程序编译。
汇编就是将汇编语言文件编译成二进制目标文件。
链接就是将汇编出来的多个二进制目标文件链接在一起,形成最终的可执行文件,链接的时候还会涉及到静态库和动态库等问题。
Makefile: 描述哪些文件需要编译、哪些需要重新编译的文件就叫做 Makefile, Makefile 就跟脚本文件一样,Makefile 里面还可以执行系统命令。
arm架构下编译: arm-linux-gnueabihf-gcc -o hello hello.c(在pc上)
运行:/mnt/hello(在开发板上,mnt为共享目录)
3、I.MX6ULL
4、linux开发和裸机的区别
空格:输入 
换行:输入<br>
学习时间
2021.1.27
学习产出
1、 csdn笔记 1篇