打印

AIC8800开发板使用向导

[复制链接]
2175|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vsfopen|  楼主 | 2022-6-14 13:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AI, ic
本帖最后由 vsfopen 于 2022-6-16 19:55 编辑

收到开发板的用户,第一步是接串口,921600_8N1的设置。对于AIC8800M模块开发板的话,串口在中间的J3排针上,边上有引脚定义,TX和RX就是芯片的串口。

接上串口后,通过typeC接电源(芯片内置PMU,出厂配置下,需要typeC上的5V供电),这个时候板子还没有启动,需要按PWR按键才会启动(可以配置成上电直接启动,需要额外焊接一个上拉电阻)。
这个时候会有Bootrom的信息(这里的日期和版本可能会不一样,不影响使用):
Bootrom [Aug 31 2020, 39ff055]
Copyright (C) 2018-2020 AICSemi Ltd.

RstCause:0000,Boot:3d,0
Mcu mode
boot abort: -1
这里boot abort: -1只是flash还未初始化。
按下回车后,执行2个命令(输入命令,然后按回车)
f 1 3 1 2 1
f 3
Bootrom [Aug 31 2020, 39ff055]
Copyright (C) 2018-2020 AICSemi Ltd.

RstCause:0000,Boot:3d,0
Mcu mode
boot abort: -1

Boot >f 1 3 1 2 1
Set UsrCfg:
fck en
sz: 116, iv: 08000000
cache: 08000000->04000000
flash clk: 2/1
delay boot

OK
Boot > f 3
Store UsrCfg

OK
Boot >
这个时候,可以按一次开发板上的PRST复位键,再按一次PWR键:
Bootrom [Aug 31 2020, 39ff055]
Copyright (C) 2018-2020 AICSemi Ltd.

RstCause:0000,Boot:3d,0
Mcu mode
boot abort: -7
这里,-7表示没有应用镜像,这个时候就可以通过串口或者SWD下载程序了。

下载程序后,再次复位芯片,并且启动。
Bootrom会有一个倒计时,倒计时内串口没有收到数据的话,就会执行应用了。
如果倒计时内,串口收到数据,就会进入boot模式,这个模式下,可以开启SWD调试,进入应用后,再调试可能会有问题。

串口下载程序:
命令为x 地址,芯片flash地址为0x08000000,下载镜像到这个地址的话,就是"x 8000000"命令,然后通过xmodem-1K发送固件镜像。

使用特权

评论回复

相关帖子

沙发
vsfopen|  楼主 | 2022-6-14 14:11 | 只看该作者
本帖最后由 vsfopen 于 2022-11-19 09:46 编辑

源码仓库:vsf仓库:

https://github.com/vsfteam/vsf
https://gitee.com/vsfteam/vsf
工程位于:
vsf\example\template\project\iar                  AIC8800配置
vsf\example\template\project\cmake\aic8800
AIC8800M需要子模块:
AIC8800M_SDK_vsf(source/hal/driver/AIC/AIC8800/vendor)
CMSIS(source/utilities/compiler/arm/3rd-party/CMSIS)

如果不会子模块的话,使用这个仓库:https://github.com/vsfteam/vsf-all-in-one

vsf.linux仓库,建议使用这个(因为vsf仓库中的工程只是用于CI测试,加的内容太多):

https://github.com/vsf-linux/vsf.linux
https://gitee.com/vsf-linux/vsf.linux

工程位于:
project/iar                                                  AIC8800配置
project/cmake/aic8800
不会子模块的话,使用这个仓库:https://github.com/vsf-linux/vsf.linux-all-in-one

vsf仓库里的AIC8800M的demo是用于CI目的的,所以会尽可能把所有可以支持的代码加入,并不一定适合实际使用。
vsf.linux仓库里的AIC8800M的demo做了简化,建议使用这个。




使用特权

评论回复
板凳
vsfopen|  楼主 | 2022-6-17 12:13 | 只看该作者
本帖最后由 vsfopen 于 2022-6-17 12:18 编辑

IAR工程,IAR是用 EWARM 8.40.2,需要复制AIC8800M的flashloader:
位于AIC8800M_SDK_vsf里,vsf/source/hal/driver/AIC/AIC8800/vendor下的子模块。
把AICSemi目录,复制到 iar安装目录/arm/config/flashloader下即可。

对于vsf.linux仓库,IAR工程位于:
vsf.linux/project/iar
配置选择vsf_template_aic8800

按照readme里的AIC8800M的要求,clone子仓库之后,打开工程即可编译。

使用特权

评论回复
地板
vsfopen|  楼主 | 2022-6-17 13:34 | 只看该作者
本帖最后由 vsfopen 于 2022-6-21 22:37 编辑

vsf.linux仓库使用AIC8800M需要的子模块:
1. vsf
2. curl

vsf子模块里,需要的子模块
1. PLOOC
2. CMSIS
3. AIC8800M/vendor
4. mbedtls
5. btstack

拉取所有子仓库的话,用命令:git submodule update --init
vsf.linux拉取一次,vsf拉取一次,不需要递归。
无法拉取子模块的话,使用all in one仓库:
https://github.com/vsf-linux/vsf.linux-all-in-one

关于curl的修改:
curl和mbedtls,有几个同名.c文件,GCC下没问题,IAR不支持同名.c,所以需要修改。
IAR编译的时候,会提示有几个curl里的.c找不到
在目录vsf.linux\application\3rd-party\curl\raw\src里,找到IAR里报错的几个没有curl_前缀的文件,加上curl_前缀即可。
比如,md4.c改为curl_md4.c

如果要在IAR里,屏蔽curl的话,IAR工程下的application/3rd-party/curl的options里选择execulde from build。
然后工程选项里的Defined syboms(预定义宏)里,去掉APP_USE_LINUX_CURL_DEMO=ENABLED



使用特权

评论回复
5
vsfopen|  楼主 | 2022-6-17 21:04 | 只看该作者
加入自己的应用

用户的应用,其实就是一个main的入口,比如user_main,放在用户应用的独立文件/目录下。
然后,在vsf的linux子系统里,需要注册一个可执行文件,并且把入口绑定到user_main。

注册入口的代码,放在vsf_main.c里的vsf_linux_create_fhs函数里,靠后添加即可。代码如下:
extern int user_main(int argc, char *argv[]);
busybox_bind(VSF_LINUX_CFG_BIN_PATH "/user", user_main);


如果希望用户入口,启动的时候就可以运行的话,有2种方法
1. 修改vsf_user_cfg.h里的VSF_LINUX_CFG_INIT_SCRIPTS,这个配置宏可以定义启动脚本。推荐使用这种方式
2. 增加VSF_LINUX_CFG_INIT_SCRIPT_FILE配置宏,用来指定初始化脚本文件,文件内容就是一行一条执行的命令。

使用特权

评论回复
6
vsfopen|  楼主 | 2022-6-18 21:16 | 只看该作者
本帖最后由 vsfopen 于 2022-6-21 19:02 编辑

VSCode + arm-none-eabi-gcc + cmake + ninja开发调试环境搭建

1. 工具(linux下比较简单,用对应的包管理工具自动安装即可,windows下,需要一些额外安装操作)
1)VSCode,安装扩展:C/C++、CMake Tools、Cortex-Debug
2)arm-gcc:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
3)ninja:https://github.com/ninja-build/ninja/releases,把ninja可执行程序,复制到arm-gcc的安装目录下的bin目录
4)cmake:https://github.com/Kitware/CMake/releases,安装后,确认cmake在路径中

2. clone https://github.com/vsf-linux/vsf.linux 或者 https://gitee.com/vsf-linux/vsf.linux
子模块:vsf
vsf子模块:PLOOC、CMSIS、AIC8800M/vendor、mbedtlks、btstack

3. 打开工程vsf.linux/project/cmake/aic8800/workspace.code-workspace
打开workspace中的顶层cmake工程文件project/CMakeLists.txt,扫描toolchain选择arm-gcc,build。

4. 工程默认是用jlink gdb server调试,可自行修改

使用特权

评论回复
7
vsfopen|  楼主 | 2022-11-19 15:59 | 只看该作者
本帖最后由 vsfopen 于 2022-11-19 16:01 编辑

关于 IAR配合CMSIS-DAP调试AIC8800M的说明:

第一次调试的时候,IAR会跳出Memory Configuration的窗口。这里把第一个0x00000000 - 0x1FFFFFFF的Cache Type改为RAM即可:



2. IAR设置里,DAP默认可能使用的是JTAG,要改为SWD



3. 如果提示选择DAP的接口,V2会更快

使用特权

评论回复
发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

325

帖子

8

粉丝