image

 

 虚拟机准备:

虚拟机下载

vmware安装:参考网上,或者用别人给的虚拟机,wsl也行。

上网:

网上搜配置NAT网卡就行,或者双网卡(桥接网卡,开发板与虚拟机直连)。

代理:

网上或者GPT去搜把,*****N,限制一下网速,下载方式,buffer大小(具体我也忘了)留个坑。

SDK:

image

build.sh

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

image

 

image

 

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

image

 比如编译内核:

 基本流程就是,检查,打印,配置选项,编译

image

 

 辅助函数,复制文件

image

 分区文件

image

 这个看起来没啥用

image

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

image

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

image

 驱动编写位置(编译进内核):

首先的话,找到设备文件修改就行,直接压力原产人或者find搜索。

驱动在这个目录下,新建一个文件夹,然后在顶层目录添加一个子目录,模仿dma,创建一个子目录即可。

image

 

 写代码:

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.