最近几个用wifi soc的项目接近尾声,想搞一个pi玩玩
用wifi soc做主控(目前选择AIC8800M),扩展屏幕,电容触摸、USB 2.0 HS、Audio、Ethernet,当然,还会有双频wifi以及双模蓝牙。
wifi soc开发板貌似没见过太多这样形态的,可以玩些啥呢?
因为扩展了USB,所以很多功能都可以扩展,比如通过USB显示适配器接VGA显示器啥的。
离线
widora就有这种,还有国外的Onion2,都是用MT7688做的
离线
强烈支持楼主开源~~~
先把AIC8800M的资料共享下啊,一起搞
离线
widora就有这种,还有国外的Onion2,都是用MT7688做的
我看了一下,这个貌似资源足够直接linux了。上了linux基本生态就都有了,不过一些MCU等级的倒是很难有这种生态
离线
强烈支持楼主开源~~~
先把AIC8800M的资料共享下啊,一起搞
目前已经在原厂许可的范围内,公开了一部分SDK了
样片啥的也都有了,也可以直接用一些linux的应用了,后面我看看怎么玩
离线
VSF已经支持了AIC8800,并且正在逐步完善各个外设驱动。已经拿到开发板的童鞋,可以先看一下下面的步骤。
零、芯片简介
1. 240M CortexM4F内核,2M字节flash,992K字节sram
2. 双频WIFI6,286.8Mbps@TX,229.4Mbps@RX
3. 双模BT5
4. 硬件加速引擎,AES/RSA/HASH/ECC
5. USB 2.0 OTG内置高速PHY
6. 内置PMU
7. 5x5 QFN48
8. UART/SPI/I2C/SDIO etc
9. 各种未公开特性,欢迎来撩
一、准备
软件:
1. 编译器,以及开发相关的工具
WIndows下:IAR EWARM 8.40 或者 arm-none-eabi-gcc + cmake + ninja + openocd + vscode
Linux下:arm-none-eabi-gcc, cmake, ninja, openocd, vscode
2. 串口中断,需要支持xmodem发送固件
3. git工具,比如wingit + tortoise git
4. 调试相关的软件,比如openocd。如果使用jlink/dap等IDE已经支持的调试器的话,则不需要额外调试软件。
硬件工具:
1. AIC8800M开发板
2. USB转串口
3. jlink或者cmsis-dap等SWD调试工具
二、下载VSF
可以下载vsf,更新submodule。也可以直接下载vsf-all-in-one。下载好的一些第三方代码,需要打补丁。
1) 使用GIT工具下载VSF,并且更新submodule:
https://github.com/vsfteam/vsf.git
https://gitee.com/vsfos/vsf.git
目前的工程,需要如下子模块(也可以下载所有子模块):
1. source/hal/driver/AIC/AIC8800/vendor
2. source/utilities/compiler/arm/3rd-party/CMSIS
3. source/utilities/3rd-party/PLOOC/raw
4. source/component/3rd-party/mbedtls/raw
5. source/component/3rd-party/btstack/raw
6. source/component/3rd-party/lvgl/raw/lvgl
7. source/component/3rd-party/freetype/raw
8. source/component/3rd-party/zlib/raw
9. source/component/3rd-party/libjpeg-turbo/raw
10. source/component/3rd-party/libpng/raw
11. source/component/3rd-party/coremark/raw
12. source/component/3rd-party/evm/raw
13. source/component/3rd-party/lua/raw
14. source/shell/media/sdl2/3rd-party/SDL_image
15. source/shell/media/sdl2/3rd-party/SDL_ttf
16. source/component/3rd-party/lvgl/extension/lv_lib_freetype/raw
2) 使用GIT工具直接下载vsf_all_in_one
https://github.com/vsfteam/vsf-all-in-one.git
3) 开发IDE支持
1. IAR
复制IAR的AIC8800 flashloader:
把source/hal/driver/AIC/AIC8800/vendor/ide/iar下的AICSemi目录复制到IAR安装目录下的arm/config/flashloader目录下。
2. MDK
3. VSCode
4) 第三方代码补丁
1. IAR
vsf\example\template\project\iar\vsf_template.eww
Workspace里,选择“vsf_template_aic8800”。
在工程中,修改zlib源码,文件vsf\component\3rd-party\zlib\raw\inftrees.c,inflate_table函数:
``` c
int ZLIB_INTERNAL inflate_table(type, lens, codes, table, bits, work)
codetype type;
unsigned short FAR *lens;
unsigned codes;
code FAR * FAR *table;
unsigned FAR *bits;
unsigned short FAR *work;
{
```
改为
``` c
int ZLIB_INTERNAL inflate_table (codetype type, unsigned short FAR *lens,
unsigned codes, code FAR * FAR *table,
unsigned FAR *bits, unsigned short FAR *work)
{
```
然后就可以编译了。
2. GCC
不需要修改
三、开发板硬件说明
1) 基本说明
AIC8800M开发板上,引出了所有的芯片IO和电源。引出了调试串口引脚和SWD调试引脚。由于芯片么有复位引脚,所以做了电源复位按键PRST,按下后,切断电源,释放后恢复。AIC8800启动是通过PWR_KEY引脚上拉实现的,可以通过开发板上的PWR按键来启动AIC8800M。
2) 硬件初始化
第一次使用AIC8800M的时候,芯片的USR flash并未初始化,所以需要通过串口命令来进行芯片的初始化,串口设置为921600_8N1。
启动的时候,串口上会提示boot abort: -1,表示AIC8800的USR flash没初始化。这个时候,执行如下2条命令(按键输入命令,然后按回车):
f 1 3 1 2 1
f 3
执行完成后,重新上电(按一下PRST按键)。这个时候会提示boot abort: -7,表示flash中没有可以启动的应用镜像。
如果芯片里已经下载过可以使用的程序的话,串口上会提示ready to boot...,并且进入应用程序。注意,进入应用程序后,不能通过SWD接口调试,比如在boot模式才能调试。如果已经下载了程序,可以在上电的时候,疯狂按回车,终止跳转到应用程序,停留在boot模式下(提示符Boot >)。
3) 下载程序
可以通过串口下载程序,在boot模式下,执行下面的命令
x 8000000
然后,通过xmodem(1K)发送程序镜像。
4) SWD调试
在boot模式下,可以通过SWD下载程序,并且启动调试。
在跳转到应用后,只能通过SWD以attach的方式来调试。
1. IAR
如果之前已经复制好AIC8800的flashloader的话,可以直接通过SWD调试器来调试。注意如果需要选择芯片的arch的话,这里必须选择Cortex-M4.
2. GCC
TODO
Happy Hacking!!!
离线
先放出一些已经搞定的东西,继续筹划一下硬件
离线
接近1M sram,这太富裕了吧
离线
接近1M sram,这太富裕了吧
我应该还没说有型号还内置了32M字节的内置psram吧?
不过psram的性能也不知道咋样,不知道直接跑个linux会咋样
最近编辑记录 vsf (2021-12-30 00:35:41)
离线
以前玩过WRTNode,只是……现在已经没啥资源了,主创大佬都去干别的去了
离线
有ESP-EYE,淘宝就可以入手一个
离线
看了下价格不错,要能带个rgb接口就好了
离线