上个月参加芯查查的安信可的小安派测评活动,自己呢也是非常的幸运得到了一块安信可的模块。
首先先简单介绍一下该模块:
小安派-Cam-D200(AiPi-Cam-D200)是安信可科技为高性能模组Ai-M61-32S设计的一款兼容200W 摄像头的核心板,引脚完全兼容Ai-WB1-32S-CAM,同时添加TF卡座,弥补Ai-WB1-32S-CAM的不足小安派-Cam-D200默认接入200w像素摄像头,并引出所有未使用的引脚,方便开发,是AiPi-Cam-D 的升级版。而且摄像头模块兼容ESP32的模组,兼容性也很乐观的
自己也分享一下,该模块的淘宝购买链接:https://item.taobao.com/item.htm?id=753847162694&spm=a21m98.27004841
而且在淘宝还有拓展板进行购买,本次测评也是并没有随机配送拓展版,没有获得测评活动的人,也可以去淘宝去购买。
硬件准备:USB转TTL模块(这里我使用的是自己制作的ST-linkV2,已在芯查查开源)、type-c线、杜邦线:4根
一:资料获取:
可以到安信可的官网上面去下载:https://docs.ai-thinker.com/cam-d200,资料也是很全面,
二:硬件资料:
原理图:
这里有个地方需要注意一下:
该模块默认 标注引脚为3V3,可以通过更改R6,R7电阻进行供电的选择,使用时候可以根据自行需求进行电平的设置,可以看出设计者还是考虑的很全面。
三:编译环境的搭建:
这里我使用的VS code进行编译和仿真程序,(VS code环境的搭建后续,单独写一个帖子进行介绍,总之在搭建的时候也是遇到了不少的问题。)
3.1 源码的下载:可以在
GitHub源码地址:https://github.com/Ai-Thinker-Open/AiPi-BL618-Open-SDK
源码地址:https://axk.coding.net/p/boliu/d/AiPi-BL618-Open-SDK/git
不过个人还是建议使用git工具下载代码,下载代码和管理代码的功能很强大,而且小安排的源码全部都是开源在git的仓库里,想要下载源码还是非常必要的。
3.2 编译路径的配置:
主要需要配置一下三个路径:
aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin
aithinker_Ai-M6X_SDK\tools\make
aithinker_Ai-M6X_SDK\tools\ninja
我这里使用的的win10系统
具体配置过程如下:
GCC的工具链是在程序包里,直接下载。
这里i需要注意一下:设置完成后,需要确定好保存的功能后,然后将电脑重启。
四:验证编译环境的成功与否
在桌面按住 shift 键点击 鼠标右键 打开 PowerShell 在弹出的 框内 依次输入下面命令行
make -v
正确安装后,对话框内输出:
GNU Make 4.2.1
Built for x86_64-w64-mingw32
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
图片如下所示:
输入命令行:
riscv64-unknown-elf-gcc -v
输出对话框“
Using built-in specs.
COLLECT_GCC=E:\0_DATA_RC_2021\anxinke\AiPi-BL618-Open-SDK-master\AiPi-BL618-Open-SDK-master\toolchain_gcc_t-head_windows\bin\riscv64-unknown-elf-gcc.exe
COLLECT_LTO_WRAPPER=e:/0_data_rc_2021/anxinke/aipi-bl618-open-sdk-master/aipi-bl618-open-sdk-master/toolchain_gcc_t-head_windows/bin/../libexec/gcc/riscv64-unknown-elf/10.2.0/lto-wrapper.exe
Target: riscv64-unknown-elf
Condivd with: /mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/./source/riscv/riscv-gcc/condiv --target=riscv64-unknown-elf --host=i686-w64-mingw32 --with-gmp=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-mpfr=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-mpc=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-libexpat-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-libmpfr-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-pkgversion='Xuantie-900 elf newlib gcc Toolchain V2.6.1 B-20220906' CXXFLAGS='-g -O2 -DTHEAD_VERSION_NUMBER=2.6.1 ' --enable-libgcctf --prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/Xuantie-900-gcc-elf-newlib-mingw-V2.6.1 --disable-shared --enable-threads=posix --enable-languages=c,c++ --without-system-zlib --enable-tls --with-newlib --with-sysroot=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/riscv64-unknown-elf --with-native-system-header-dir=/include --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libgomp --disable-nls --disable-tm-clone-registry --src=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/./source/riscv/riscv-gcc --enable-multilib --with-abi=lp64d --with-arch=rv64gcxthead 'CFLAGS_FOR_TARGET=-Os -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-Os -mcmodel=medany'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (Xuantie-900 elf newlib gcc Toolchain V2.6.1 B-20220906)
图五:软件代码调试:
使用 VS code 打开代码例程:
修改:代码例程中输出函数:
// printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_16));
bflb_mtimer_delay_ms(2000);
printf("xin cha cha ce ping huo dong\r\n");
bflb_gpio_reset(gpio, GPIO_PIN_16);
// printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_16));
printf("autor : by:congconggege\r\n");
bflb_mtimer_delay_ms(2000);
bflb_gpio_set(gpio, GPIO_PIN_16);
编译过程:
需要右击需要编译的工程:GPIO口的范例代码:
编译工程:
在终端的兑换框内 输入
make
编译成功的截图如下:
下载工程:烧录工程之前需要配置模块进入配置模式: 按照S2按键的同时,按下S1按键,然后松开按键即可。
在终端中输入:
make flash COMX=COM?
? 为使用连接USB转TTL的具体串口号
下载成功:
这里我们按下 S1 按键 RST按键,是程序运行一下,打开串口工具接收一下串口数据:
基本的软件安装就是这样,简单测试了一下串口输出,接下来就可以继续玩其他的功能了。
全部评论