零基础开发小安派-Eyes-S1【入门篇】——工程文件架构

2024-11-15 安信可科技CSDN
开发板,模组,Ai-M61-32S,AiPi-Eyes-S1 开发板,模组,Ai-M61-32S,AiPi-Eyes-S1 开发板,模组,Ai-M61-32S,AiPi-Eyes-S1 开发板,模组,Ai-M61-32S,AiPi-Eyes-S1

AiPi-Eyes-S1是安信可开源团队专门为Ai-M61-32S设计的一款开发板,支持WiFi6、BLE5.3。所搭载的Ai-M61-32S 模组具有丰富的外设接口,具体包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太网 (EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。


AiPi-Eyes-S1集成了SPI屏幕接口,DVP摄像头接口,外置ES8388音频编解码芯片以及预留TF卡座,并且引出USB接口,可接入USB摄像头。


从零开始学习小安派:

1、零基础开发小安派-Eyes-S1【入门篇】——初识小安派-Eyes-S1
2、零基础开发小安派-Eyes-S1【入门篇】——安装VMware与Ubuntu
3、入门篇:零基础开发小安派-Eyes-S1——新建工程并烧录调试

4、零基础开发小安派-Eyes-S1入门篇——Win下SSH连接Linux

5、零基础开发小安派-Eyes-S1【入门篇】——Samba共享文件夹


新建的工程包含多个文件和文件夹,作为初学者第一次接触,下面浅聊一下我对工程文件的了解,若有不对的地方请大家多多指正。


一、build 文件夹


该文件夹是编译后生成的 bin 文件存储的地方,如本工程文件的文件名作为 Helloworld,编译后的 bin 文件也是以工程名 + 芯片命名。

生成的 bin 文件存储在 build/build_out 下,可以看见有多个类似的文件,这里我们烧录取 bin 文件,这里可以看到在 hellowworld 工程编译生成的 bin 文件命名为 helloworld_bl616.bin,因为 bl616 和 bl618 的芯片其实在软件上的区分很小,他们通用同一个 SDK,在硬件上的区分在于 616 的 IO 口数量不如 618,由于使用同一套 SDK,所以 bl616 和 618 的固件是可以通用的,这里无需过多计较区别。

注意,这里的 bin 文件在博流的烧录工具上并不是合成的 bin 文件,这里对应的 bin 文件是图中的 firmware 目录下的 bin 文件,还需要其他的如 boot2 等文件,那么问题来了,使用 Single Download Options 烧录的合成 bin 文件在哪里,其实是在 SDK 中,具体的路径为:

aithinker_Ai-M6X_SDK/tools/bflb_tools/bouffalo_flash_cube/chips/bl616/img_create/whole_flash_data.bin


如果需要使用 Windows 下的烧录工具烧录 bin 文件,选择这个路径下的 whole_flash_data.bin 即可。

二、CMakeLists.txt


CMake 是一个跨平台、开源的构建系统,它可以帮助我们管理好工程里的软件架构。CMakeLists.txt 文件相当于执行的列表,它可以调用其他的.h 头文件和.so/.a 库文件,生成 Makefile,将.cpp/.c/.cc 文件编译成可执行文件或新的库文件。我们从简单的 helloworld 工程学习,先打开 CMakeLists.txt 查看里面的语句。

BouffaloSDK 中封装了以下函数接口,基本满足常用场景使用。


三、flash_prog_cfg.ini


BouffaloSDK 采用新的 flash tool(bouffalo_flash_cube),并且烧录依赖 flash prog cfg.ini 文件。我们的烧录命令 make flash 就是依赖这个文件执行的。它也有自己的语法。

正常使用只需要创建一个 KEY,例如 [FW],并且填写 filedir 和 address 就可以使用了。

其中 filedir 的填写方式有以下几种:

·bin 文件全路径 + bin 文件名称

·bin 文件相对路径 + bin 文件名称

·bin 文件名称添加 _$(CHIPNAME) 后缀可以自动识别成不同芯片(仅在 bin 文件名称前缀不同的时候使用)

·bin 文件名称添加 * 通配符,可以自动补全 bin 文件名称(仅在 bin 文件名称前缀不同的时候使用)


1.模组作为 MCU(不使用无线功能)


只需要和 helloworld 工程一样修改 filedir 的文件名即可。

[cfg] # 0: no erase, 1:programmed section erase, 2: chip eraseerase = 1 # skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separatedskip_mode = 0x0, 0x0 # 0: not use isp mode, #1: isp modeboot2_isp_mode = 0
[FW]filedir = ./build/build_out/xxx*_$(CHIPNAME).binaddress = 0x0000

2.模组作为 IOT(开启无线功能)

[cfg] # 0: no erase, 1:programmed section erase, 2: chip eraseerase = 1 # skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separatedskip_mode = 0x0, 0x0 # 0: not use isp mode, #1: isp modeboot2_isp_mode = 0
[boot2]filedir = ./build/build_out/boot2_*.binaddress = 0x000000
[partition]filedir = ./build/build_out/partition*.binaddress = 0xE000
[FW]filedir = ./build/build_out/xxx*_$(CHIPNAME).binaddress = 0x10000
[mfg]filedir = ./build/build_out/mfg*.binaddress = 0x210000
cfg 表示烧录时的一些配置,正常不需要改动-  FW 要烧录的应用固件,必须使用 FW 名称。
filedir 表示应用固件所在相对路径,正常来说是编译完后放在 build/build_out 目录。_$(CHIPNAME).bin 用于区分不同芯片。xxx 表示应用固件名称,与 CMakeLists.txt 中 project(xxx) 中名称一致。
address 由 partition_xxx.toml 指定
-  boot2 要烧录的 boot2 固件,必须使用 boot2 名称。
filedir 表示 boot2 固件所在相对路径,正常来说是编译完后放在 build/build_out 目录。自动从 bsp/board/board_name/config 目录拷贝。
address 必须使用 0 地址
-  partition 要烧录的 partition 固件,必须使用 partition 名称。
filedir 表示 partition 固件所在相对路径,正常来说是编译完后放在 build/build_out 目录。自动从 bsp/board/board_name/config 目录 partition_xxx.toml 转换成 bin 文件并拷贝。
address 由 partition_xxx.toml 指定
-  mfg 要烧录的 mfg 固件,必须使用 mfg 名称。mfg 可选,可以不烧录
filedir 表示 mfg 固件所在相对路径,正常来说是编译完后放在 build/build_out 目录。自动从 bsp/board/board_name/config 目录拷贝。
address 由 partition_xxx.toml 指定
(备注:如果使用了 partition,address 可以使用 @partition 代替绝对地址,@partition 将会自动从 partition_xxx.toml 找到对应的地址)

3.多个运行固化烧录

禁止使用通配符 * 以及 _$(CHIPNAME) 前缀,因为 bin 文件名称前缀相同。

[cfg] # 0: no erase, 1:programmed section erase, 2: chip eraseerase = 1 # skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separatedskip_mode = 0x0, 0x0 # 0: not use isp mode, #1: isp modeboot2_isp_mode = 0
[FW1]filedir = ./build/build_out/xxx0.binaddress = 0x00000
[FW2]filedir = ./build/build_out/xxx1.binaddress = 0x10000
[FW3]filedir = ./build/build_out/xxx2.binaddress = 0x20000

四、main.c


main.c,主程序运行的文件。

五、Makefile


编译的文件,其指定了一系列以赖关系和依赖规则。指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,可以实现自动化编译,一旦写好,只需要一个 make 命令,整个工程完全自动编译,极大的提高了软件开发的效率。

目前来说只需要修改第二行 BL_SDK_BASE ?= $(SDK_DEMO_PATH)/../aithinker_Ai-M6X_SDK 的编译路径设置即可。


六、proj.conf


前面在 CMakeLists.txt 中提到的组件的使用,当我们需要使用各种组件或开启一些配置功能时,需要进入这个文件中添加。

举例:需要添加 SD 卡,或者 LVGL。需要在 proj.conf 中

set(CONFIG_FATFS            1)
set(CONFIG_LVGL             1)

七、README.md


README 相当于一个说明书,由工程的管理者进行编写,包括该工程一些简介,使用方法,注意事项等等。


md 文件后缀的格式并不是什么高大上的文件,只是一种编辑的语法,可以使用记事本打开,也可以在 VS 中安装 Markdown Preview 插件。

这样查看 README 时可以右键点击 MPE:打开侧边预览,可以方便我们查看 README。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由samsara转载自安信可科技CSDN,原文标题为:零基础开发小安派-Eyes-S1【入门篇】——工程文件架构,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】Ai-WB2系列模组AT固件使用教程

Ai-WB2系列模组AT固件使用教程:1.准备工作需要准备的软硬件:Ai-WB2系列模组或者开发板,Type-C数据线,安信可透传云服务器,连接为http://tt.ai-thinker.com/ttcloud2.连接路由器等。

2023-02-03 -  设计经验 代理服务 技术支持 现货查询 批量订货

Ai-BS21系列烧录指导——开发板or模组

本篇以Ai-BS21-32S_Kit为例指导烧录固件,这是由深圳市安信可科技有限公司开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。

2024-06-24 -  设计经验 代理服务 技术支持 现货查询 批量订货

用Ai-WB2开发板做智能家居全彩LED小夜灯

介绍用Ai-WB2开发板做智能家居全彩LED小夜灯的方法及技术要求。

2024-11-22 -  设计经验 代理服务 技术支持 现货查询 批量订货

安信可WiFi+BLE蓝牙双模模组Ai-WB2系列:高性价比物联网解决方案

安信可Ai-WB2系列模组支持Wi-Fi 802.11b/g/n协议和BLE 5.0协议,集成Wi-Fi、传统蓝牙和低功耗蓝牙功能。且经过行业“双85”测试,产品可靠性稳定性很强,可广泛应用于物联网(IoT)、移动设备、可穿戴电子设备、智能家居等领域。

2024-09-06 -  器件选型 代理服务 技术支持 现货查询 批量订货

高性能开发板Ai-M61-32S-Kit助力Wi-Fi6+BLE5.3模组

Ai-M61-32S-Kit是针对Ai-M61-32S模组设计的开发板。Ai-M61-32S是由深圳市安信可科技有限公司开发的Wi-Fi6+BLE5.3模组,该模组搭载BL618芯片作为核心处理器,支持Wi-Fi 802.11b/g/n/ax协议和BLE协议,支持Thread协议。

2024-06-22 -  产品 代理服务 技术支持 现货查询 批量订货

【外设移植】基于AI-WB2-32S开发板的SG90舵机控制案例

介绍Ai-WB2模组驱动舵机控制(SG90)的技术要求和方案。

2024-11-05 -  应用方案 代理服务 技术支持 现货查询 批量订货

星闪开发板or模组烧录指导

Ai-BS21-32S_Kit是由安信可科技开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。

2024-06-21 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】Ai-WB2模组基于TCP的MQTT连接服务器使用示例

1、需要准备的软硬件:Ai-WB2系列模组或者开发板,Type-C数据线2、连接路由器:先保证模块或者开发板上电打印ready,2.发送AT+CWMODE=1;AT+CWJAP=“WIFI名称”,“WIFI密码”。

2023-01-16 -  设计经验 代理服务 技术支持 现货查询 批量订货

M61/M62系列单模组烧录指导(未引出BOOT脚位的情况下)

为了解决M61和M62模组在未引出BOOT引脚下的二次烧录问题,本文提供了详细教程。需要使用支持波特率至2M的USB转TTL工具和上位机软件1.9.0版本。接线时可省略BOOT线,只需连接四条线。操作步骤包括打开软件、选择固件、插上模组、刷新串口并点击烧录。若无法烧录,需检查串口芯片支持情况及接线是否正确。此方法仅适用于安信可AT固件更新,自行开发需引出BOOT引脚。

2024-10-28 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】安信可WiFi模组的所有配网方式的详细教程

随着国内物联网多年发展,基于WiFi的IoT联网方案的广泛应用,安信可WiFi模组应用到智能家居、智慧交通、智能监控、智能医疗设备、智慧农业等领域,覆盖我们生活中的方方面面。目前主流的WiFi配网方式主要有SmartConfig 一键配网、AP配网、微信Airkiss配网、蓝牙辅助配网等。本文主要介绍安信可WiFi模组的所有配网方式的详细教程。

2023-05-11 -  设计经验 代理服务 技术支持 现货查询 批量订货

复旦微电子推出板载芯片FM33LE026的demo开发板FM33LE0xx,助于客户测试开发和评估

FM33LE0xx开发板是上海复旦微电子集团有限公司提供给客户测试开发和评估的一款demo板,其板载的芯片型号为FM33LE026 (ARM Cortex-M0内核) 芯片。该芯片最高主频为64Mhz,RAM为16KB,Flash为128KB。

2022-10-10 -  原厂动态 代理服务 技术支持 现货查询 批量订货

满足多种场景需求,移远通信Cat 1 模组多方位赋能中低速率IoT市场

移远Cat 1 系列模组凭借着型号多样、工艺成熟、性能稳定、量产经验丰富等优势,持续引领各垂直应用市场。作为中低速物联网的主力支撑,Cat 1 的市场还在不断拓展,可赋能的领域还有很多。未来,移远通信将持续创新,为客户提供更优质、更高性价比的产品,依靠成熟的解决方案赋能各行各业。

2024-10-24 -  产品 代理服务 技术支持 现货查询 批量订货

【经验】如何使用安信可NB-IoT模组EC系列的MQTT

在IoT行业中,智能家居和远程服务器的通信,常用的就是MQTT协议。EC系列作为一款NB-IoT模组,自然也是支持MQTT协议,在EC的出厂的AT固件中,就集成MQTT的指令,本文将会介绍出厂固件的MQTT指令的具体使用方法及使用实例。

2023-03-02 -  设计经验 代理服务 技术支持 现货查询 批量订货

安信可Ai-M62系列模组支持接入小米Vela平台,可以帮助全屋智能设备统一协议

2023年11月16日,小米IoT生态伙伴大会在北京圆满举行。在本次大会上,小米宣布Vela面向全球软硬件开发者正式开源,安信可Ai-M62系列模组支持接入小米Vela平台,可以帮助全屋智能设备统一协议,作为高性能的嵌入式Wi-Fi 6无线通信模组,具备传播速率快、延时低、设备连接数量多、抗干扰能力强等特点,响应更快、连接更稳、交互更流畅,帮助用户实现不同智能设备间的互联互通。

2023-12-28 -  原厂动态 代理服务 技术支持 现货查询 批量订货

【IC】移远5G RedCap模组Rx255C系列推动5G轻量化技术创新发展,荣获“IoT技术创新奖”

10月30-31日,由电子发烧友网主办的2023第十届IoT大会在深圳国际会展中心举行。在大会同期举办的2023第八届IoT创新奖的颁奖典礼上,移远通信5G RedCap模组Rx255C系列凭借其在推动5G轻量化技术创新发展的过程中所作的贡献,荣获“IoT技术创新奖”。

2024-10-15 -  产品 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:安信可科技

品类:NB-IoT模组

价格:¥17.7500

现货: 10

品牌:安信可科技

品类:Wi-Fi 6+BLE5.3模组

价格:¥16.2500

现货: 10

品牌:安信可科技

品类:雷达模组

价格:¥12.7500

现货: 5

品牌:安信可科技

品类:LoRa模组

价格:¥19.7500

现货: 5

品牌:安信可科技

品类:LoRaWAN模组

价格:¥25.6300

现货: 5

品牌:安信可科技

品类:蓝牙模组

价格:¥4.6300

现货: 4

品牌:安信可科技

品类:雷达模组

价格:

现货: 0

品牌:安信可科技

品类:蓝牙模组

价格:¥8.2600

现货: 0

品牌:安信可科技

品类:蓝牙模组

价格:¥10.0800

现货: 0

品牌:安信可科技

品类:蓝牙模组

价格:¥9.6600

现货: 0

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RF-LINK

品类:WiFi模块

价格:¥25.5000

现货:16,272

品牌:SKYWORKS

品类:低噪放模组

价格:¥2.5000

现货:11,296

品牌:中科银河芯

品类:温湿度传感器模组

价格:¥6.9000

现货:8,000

品牌:u-blox

品类:无线及智能模块模组

价格:¥136.7300

现货:6,000

品牌:Sierra Wireless

品类:4G IoT 模组

价格:¥221.3700

现货:500

品牌:AVAGO

品类:Camera Module

价格:¥90.4758

现货:117

品牌:RENESAS

品类:开发板

价格:¥259.1316

现货:48

品牌:芯波科技

品类:WIFI SIP 模组

价格:¥15.0000

现货:40

品牌:高新兴物联

品类:NB-IOT模组

价格:¥25.0000

现货:28

品牌:高新兴物联

品类:NB-IOT模组

价格:¥22.0000

现货:20

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

PCBA贴片打样

采用SMT/SMT+DIP封装加工,PCB成品尺寸:50*50~340*500mm,板厚:0.6~3.0mm,最快交期:2~3天。支持1~200片(拼版200片)的PCBA主板贴片。

最小起订量: 1 提交需求>

PCBA贴片/SMT贴片/DIP插件加工

可加工PCB的尺寸范围:50*50mm~610*508mm,板厚:0.3mm~4.5mm,元件尺寸:最大200*125mm,最小引脚零件间距:0.3mm,最小BGA间距:0.3mm,支持01005 chip件贴装。

最小起订量: 3 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面