1.概述
首先,查阅资料,测试功能,结合Cv180x cv181x 外围设备驱动操作指南,进行一步步测调试,然进行不下去了,官方提供的镜像文件包含内容不全,比如PWM,IIC通讯开发不完整,经过几次的调试确定无误。所以需要更改官方镜像。
PWM功能测试,始终有问题,示波器查看不到脉冲信号。后偶然找到官方论坛,有一篇文章提到得内容,似乎点醒了我。前辈提示需要更改下此文件,如图所示:
文件更改路径:/duo-buildroot-sdk-develop/build/boards/cv180x/cv1800b_milkv_duo_sd/u-boot/cvi_board_init.c
/duo-buildroot-sdk-develop/build/boards/cv180x/cv1800b_sophpi_duo_sd/u-boot/cvi_board_init.c
从程序上看,意思就是复用引脚没被声明
官方论坛链接:Milk-v修改并测试pwm10及波形输出 - Duo - MilkV Community
2.镜像下载编译
2.1下载路径:GitHub - milkv-duo/duo-buildroot-sdk: Milk-V Duo Official buildroot SDK
2.2文件内容,如图所示:
2.3文件内容介绍
README.md,文件一般都是记录程序代码的功能,版本变更情况。此文件描述的非常全面,镜像编译环境配置都有讲。
2.4编译环境配置 根据上面的README.md文件描述内容进行配置。
环境配置:
源文件解压,编译镜像,编译后会输出到out文件当中。
3.镜像编译
3.1镜像编译
注: 第一次编译会自动下载所需的工具链,大小为840M左右,下载完会自动解压到SDK目录下的host-tools
目录,下次编译时检测到已存在host-tools
目录,就不会再次下载了
一键编译
- 执行一键编译脚本
build_milkv.sh
cd duo-buildroot-sdk/
./build_milkv.sh
- 编译成功后可以在
out
目录下看到生成的SD卡烧录镜像milkv-duo-XXX.img
注: 第一次编译会自动下载所需的工具链,大小为840M左右,下载完会自动解压到SDK目录下的host-tools
目录,下次编译时检测到已存在host-tools
目录,就不会再次下载了
如有需要分步编译,可依次输入如下命令
export MILKV_BOARD=milkv-duo
source milkv/boardconfig-milkv-duo.sh
source build/milkvsetup.sh
defconfig cv1800b_milkv_duo_sd
clean_all
build_all
pack_sd_image
生成的固件位置: install/soc_cv1800b_milkv_duo_sd/milkv-duo.img
编译完成后,如果成功及输出镜像文件,如果不成功需要在次检查环境配置所需得工具是否安装成功。
4.命令行PWM控制
4.1插入模块
insmod /mnt/system/ko/cv180x_pwm.ko
4.2 命令行启动步骤
4.3实际测试得事PWM10/PWM11
如图所示:红色框得是PWM10 框下是PWM11
4.4 示波器测试
5.代码编译
5.1 参考文献:LED点灯教程。RISC-V Milk-V Duo双核1G CV1800B嵌入式单片机linux开发板替代树莓派PICO,教程,资料,程序,代码,PDF手册
5.2 GCC位置查找命令 sudo find / | grep riscv64-unknown-linux-musl-gcc
找到 GCC安装位置
/home/qqqq/host-tools/gcc/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc
5.3 编译程序
/home/qqqq/host-tools/gcc/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc -static -o pwm_10 pwm.c
5.4 程序传送到开发板中
sudo scp ./pwm10 root@192.168.42.1:/root/
本文转载自:https://bbs.elecfans.com/jishu_2366562_1_1.html,作者:筑梦者与梦同行