瑞芯微Rockchip开发者社区
直播中

jf_70044302

1年用户 24经验值
擅长:嵌入式技术 RF/无线
私信 关注
[经验]

【LuckFox Pico Plus开发板免费试用】02_SDK和开发环境部署

SDK和开发环境部署
前面进行了开箱并准备好了相关的硬件资源,这次就把开发环境继续准备好。因为是初学者,也难免碰到了很多坑,好在也能一一解决,很有收获。
RV1103 是一颗arm内核,开发时应使用linuxarm开发环境比较合适。LuckfoxPico-SDK是基于Ubuntu LTS 系统开发测试的,在开发过程中,主要是用Ubuntu 18.04版本, 所以官方的文档推荐用户使用Ubuntu18.04的电脑主机或者虚拟机但我的电脑是基于Intel 12i9处理器的win11系统,之前已经安装了WSL2,因此尝试参考官方的教程,以次搭建sdk和开发环境。
安装相关依赖包
执行如下
sudo apt-get install repo git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config
这个时候会提示报这个错 Unable to locate package repo,这是因为Ubuntu 20.04的版本中镜像路径已经没有这个包了,就用另外的方法安装
首先
chmod +x ~/bin/repo
这时可以验证是否已经安装完成
repo --version
终端显示如下
接下来clone下载sdk
安装完后sdk文件夹下有如下文件
交叉编译工具链安装
执行如下命令
cd tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/
source env_install_toolchain.sh
如果需要手动更新环境变量路径的,执行如下命令
export PATH="/home/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin:$PATH"
输入arm-rockchip830-linux-uclibcgnueabihf-gcc -v可以查看交叉编译工具的具体信息
进入Luckfox-Pico 目录,执行./build.sh lunch
因为硬件是 Luckfox_Pico_Plus,因此输入1,选择对应的硬件板子
然后就开始输入 ./build.sh 命令,执行编译
编译完成之后获取如下结果提示
然后进入output文件夹下的image文件夹,即可看到生成的image文件了
清除编译产生的文件可以使用如下clean操作
接下来测试一下官方教程中的hello程序,下载地址为:
https://files.luckfox.com/wiki/Luckfox-Pico/Software/Load.ko-driver.zip
整个工程只有两个文件,一个helloworld.c,一个用来控制编译的Makefile
其中hello.c的代码内容为
其功能比较简单,就是打印helloworldhelloworld bye
接下来看下Makefile文件,其原始内容为如下
这里需要将其更改为我自己的对应SDK安装路径的目录
KDIR:=/home/luckfox-pico/sysdrv/source/kernel
然后将文件拷贝到sdk安装路径的kernel文件夹下 /luckfox-pico/sysdrv/source/kernel/
这里我将原始下载文件夹名称从Load.ko-driver改成了hello_test
进入hello_test文件夹,执行如下命令
其中其中CROSS_COMPILE的地址为arm-gcc交叉编译工具的所在路径,之前已安装的路径为如下:/home/tristan/tools/gcc-arm-none-eabi-8-2019-q3-update/bin/
export ARCH=arm
export CROSS_COMPILE=/home/tristan/tools/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-
Make
编译完成即得到了目标可执行文件了,包括了ko驱动模块文件
下面我们将改ko文件传送到开发板
可以采用tftp的方式进行传输,首先从下述链接下载tftp服务器Tftpd,解压即可使用
https://files.luckfox.com/wiki/Luckfox-Pico/Software/tftpd64.zip
然后将之前在wsl中编译生成的ko文件
拷贝到宿主机的如下目录
然后打开Tftpd,并选择其服务器路径为前述宿主机的ko文件所在目录
Luckfox开发板网线,通过ifconfig命令获取其IP地址,以查看是否链接网络成功,如果已经有IP分配到,表示网络可用。
然后通过tftp从服务器下载ko文件,其中服务器IP地址需要从服务器电脑上查看,也就是前述宿主机的地址。并通过ls命令查看是否已经下载成功。
然后就可以通过insmod helloworld.ko命令和rmmod helloworld.ko命令,分别看到[  200.330884] helloworld![  218.624421] helloworld bye的输出。
还可以通过dmesg 查看具体的日志。
至此,sdk和开发环境的部署完成。

更多回帖

发帖
×
20
完善资料,
赚取积分