完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 烟花雾雨 于 2021-12-26 11:47 编辑 【1024平头哥开发套件体验】- sc5654启动流程分析 文件目录如下 目录结构介绍: Project ├── Boards - 板级代码 ├── Chips - 芯片级代码 ├── Packages - 组件代码 ├── generated - 生成可执行文件 ├── script - 编译脚本 └── app - 应用目录Z ├── include -应用头文件 └── src - 应用源文件 ├── app_audio_adc.c - 音频采集 ├── app_audio_pa.c - 功放 ├── app_battery.c - 电池管理 ├── app_init.c - 应用初始化 ├── app_key_user.c - 应用按键 ├── app_led.c - LED灯 ├── app_lpm.c - 低功耗 ├── app_lpm_user.c ├── app_main.c - 入口文件,包含main函数 ├── app_net.c - 应用网络处理 ├── app_player.c - 播放 ├── app_sys.c - 系统接口 ├── audio - 语音 ├── aui_cloud - 云端交互 ├── cli_app.c - 通用命令行 ├── cli_aui.c - 语音命令行 ├── cli_gpio.c - GPIO命令行 └── vad - SRAM VAD算法 软件架构介绍: YoC YoC总共分四层 1. 硬件规范层: CSI 层定义了 SoC 外部设备的统一接 2. 核心服务层: 包含了 Rhino 操作系统内核、设备管理框架、低功耗框架、高级安全可信计算(TEE)、网络协议、蓝牙协议栈、虚拟文件系统、网络管理器 3. 应用组件层: YoC 平台提供了大量的应用组件,面向不同的应用领域,满足不同技术需求的选择,提供更加丰富的软件生态。 4. 业务框架层: YoC 提供多种应用领域中软件框架,进一步简化应用方案的开发难度。 主函数启动流程: 1. 程序架构为阿里云平头哥 YoC架构 2. 相关参考资料连接: https://occ.t- head.cn/development/series/index?id=3801383434384187392&type=kind&softPlatformType=1 3. 流程分析 首先会运行前端Loader 由芯片级包中.S 汇编引导启动(chip_sc5654(v7.4.0.1)) [M0]CLK_SYS = 320M [M0]BASE = 00002b10 [M0]LEGTH = 0000009b [M0]SDRAM Init Ok(4*16Mbit Cap) [M0]Build:Apr 2 2020,10:17:27 [M0]Load Risc boot [M0]Dst=0x02780000 Src=0x00070000Len=0x00010000 [M0]Check RISC First Inst: [M0]02780000, Success! Welcome boot2.0! build: Jan 27 2021 15:27:32 load img & jump to [prim] silan_boot_dsp ...addr:0x00080000,load_addr:0x02000000, len:755152 Check DSP First Inst: 0000af02, Success! copy dsp over ... load&jump 0x1a3000,0x2300000,351388 all copy over..DSP Boot Mode: sdram j m j 0x023codec_adrb_create, g_rb_mic:0x20c959cg_rb_ref:0x20c95ac codec_adrb_create, mic:0x20c96e0 ref:0x20c96f0 [DSP][Schd]Main_Taskstart 然后运行主函数 主函数以及调用函数解析 Main:-> //C++必须调用 posix_init(); xx_system_init(); //板级基本初始化:(base_init.c) board_base_init(); -> //首先初始化3个串口 uart_csky_register(0);/* UART1 */ uart_csky_register(1); /* UART2 */ uart_csky_register(2); /* UART3 */ //初始化基本外设寄存器 spiflash_csky_register(0); adc_csky_register(0); iic_csky_register(0); //YoC初始化:(app_init.c) yoc_base_init(); -> //板级初始化 (初始化YoC需要资源) board_init();-> //初始化console BT WiFi 引脚 board_pinmux_config(); //初始化调试串口115200 波特率 console_init(CONSOLE_UART_IDX,115200, 512); //初始化信息打印 ulog_init(); //初始化分区表 partition_init(); //初始化KVFS aos_kv_init("kv"); // 初始化环境 event_service_init(NULL); //文件系统初始化 fs_init(); //系统事件处理 sys_event_init(); //应用系统初始化 app_sys_init(); //设置LED闪烁模式 app_set_led_state(0); //初始化每个任务的事件循环 aos_loop_init(); //初始化vad app_softvad_init(); //音频数据采集 board_audio_init(); //按键应用初始化 app_button_init(); //开启aos 循环任务运行 aos_loop_run(); 到此程序就进入系统运行系统任务。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【平头哥Sipeed LicheeRV 86开发板试用体验】Waft初体验
15702 浏览 1 评论
13758 浏览 4 评论
【平头哥Sipeed LicheeRV 86开发板试用体验】四、烧写waft系统&搭建waft测试环境
19680 浏览 2 评论
59121 浏览 19 评论
【限时福利】加入芯片开发社区,领100G电子工程师资料大礼包
88163 浏览 121 评论
邀请函 | 3月2日 来上海参加平头哥“玄铁RISC-V生态大会”
784浏览 0评论
读书分享会 | 玄铁RISC-V处理器入门与实战电子书免费下载!
682浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 21:53 , Processed in 0.545170 second(s), Total 71, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号