
虚拟机准备:
虚拟机下载
vmware安装:参考网上,或者用别人给的虚拟机,wsl也行。
上网:
网上搜配置NAT网卡就行,或者双网卡(桥接网卡,开发板与虚拟机直连)。
代理:
网上或者GPT去搜把,*****N,限制一下网速,下载方式,buffer大小(具体我也忘了)留个坑。
SDK:

build.sh
如下图选项,可编译uboot,kernel,rootfs,会生成在output相关目录或者单独编译比如kernel,就会生成在sysdrv的output目录。


build.sh指定了BoardConfig.mk,里面export很多了变量到比如kernel defconfig文件(这个是linux make menuconfig生成了,选择了哪些选项),还有uboot(选取各种参数的)buildroot(制作根文件系统的,比如新选取ffmpeg的)

比如编译内核:
基本流程就是,检查,打印,配置选项,编译

辅助函数,复制文件

分区文件

这个看起来没啥用

在board_config才指令了相关配置文件。比如一般在kernel 里面make menuconfig之后, make ARCH=arm savedefconfig保存完之后就放到kernel目录下的config目录了。

这里编译就用到了上面的变量,包括还有DTS。

驱动编写位置(编译进内核):
首先的话,找到设备文件修改就行,直接压力原产人或者find搜索。
驱动在这个目录下,新建一个文件夹,然后在顶层目录添加一个子目录,模仿dma,创建一个子目录即可。

写代码:
ssh:
vscode下载ssh插件,然后网上搜
ai:
网上搜,配置codex或者其他,问话也行,开网页问GPT也行
下载文件:
scp:
下载
scp [email protected]:/home/root/test.log ./
上传
scp firmware.bin [email protected]:/tmp/
NFS:
前置步骤上网搜
mount -t nfs -o nolock,vers=3 192.168.1.10:/nfsroot /mnt/nfs
U盘:
插入U盘,挂载即可
也还有其他方式,暂时不说了。
交叉编译:
1.直接交叉编译(很傻逼)
2.要个Makefile模板
3.CMakelists.txt,很多开源库也用到了CMakelists.txt,专门有个目录是有toolchain-arm.cmake
4.