完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
【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总共分四层
主函数启动流程:
https://occ.t- head.cn/development/series/index?id=3801383434384187392&type=kind&softPlatformType=1
首先会运行前端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=0x00070000 Len=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:0x20c959c g_rb_ref:0x20c95ac codec_adrb_create, mic:0x20c96e0 ref:0x20c96f0 [DSP][Schd]Main_Task start 然后运行主函数 主函数以及调用函数解析 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初体验
15655 浏览 1 评论
13703 浏览 4 评论
【平头哥Sipeed LicheeRV 86开发板试用体验】四、烧写waft系统&搭建waft测试环境
19620 浏览 2 评论
59026 浏览 19 评论
【限时福利】加入芯片开发社区,领100G电子工程师资料大礼包
87687 浏览 121 评论
邀请函 | 3月2日 来上海参加平头哥“玄铁RISC-V生态大会”
742浏览 0评论
读书分享会 | 玄铁RISC-V处理器入门与实战电子书免费下载!
631浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:13 , Processed in 0.638731 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号