厦门网站制作哪里好薇,建一个网站需要多久,网站备案工信部,网站换程序3011. 芯片选型分析的对比维度
分析或者对标应用的芯片替代思路
1.1 内核/主频/存储空间支持
内核能力/指令集支持#xff08;考虑工具链兼容性#xff09;#xff1b;
主频#xff1a;对比计算能力是否满足基本要求
存储#xff1a;内存--数据搬移空间决定数据运算的…1. 芯片选型分析的对比维度
分析或者对标应用的芯片替代思路
1.1 内核/主频/存储空间支持
内核能力/指令集支持考虑工具链兼容性
主频对比计算能力是否满足基本要求
存储内存--数据搬移空间决定数据运算的复杂度 FLASH--程序空间决定程序的复杂度
1.2 外设接口 (传感器接入信号获取)
UART/I2C/SPI--数字外设接口能力路数最高主频刷新率接口协议是否通用
ADC/运放--模拟信号接口能力 位数信噪比信号处理范围
SDIO
1.3 驱动能力
PWM--路数分辨率最高频率
DAC--位数精度 1.4音视频
I2S--音频接口比如数字功放数字硅麦
DVP--视频接口SPI摄像头接入
MIPI--屏或者摄像头接口
1.5 连接能力
无线 蓝牙、wifi、SUB-G
以太网/CAN/USB
1.6 其他资源软件开发的便利性
DMA--高速数据交换必备
TIMER定时器--灵活处理任务调度
CRC--外设通信
CHIPID--加密及身份互认
电源管理待机模式/功耗--是否足够灵活能够满足不同工况低功耗要求和宽电压适应能力。
1.7 开发环境
IDE支持
烧录调试模式
HAL库/RTOS支持
样例工程可用性代码是否友好等 2. CH32V208系列应用选型
参考沁恒官网
产品中心 - 南京沁恒微电子股份有限公司 V208资源也很丰富主频够高FLASH 稍小128K, RAM64K 资源差不多只是引脚数不同估计是一个die
支持OPA和12bit的ADC 其实可以用来做测温应用 3. 开发环境上手
参考贴
沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置-CSDN博客
3.1 代码编译环境IDE--MRS(MounRiverStudio) 第一次用MRS打开CH208的项目会安装环境 代码架构 GPIO_TOGGLE例程
int main(void)
{u8 i 0;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);SystemCoreClockUpdate();Delay_Init();USART_Printf_Init(115200);printf(SystemClk:%d\r\n, SystemCoreClock);printf( ChipID:%08x\r\n, DBGMCU_GetCHIPID() );printf(GPIO Toggle TEST\r\n);GPIO_Toggle_INIT();while(1){Delay_Ms(250);GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i 0) ? (i Bit_SET) : (i Bit_RESET));}
} 3.2 调试环境建立 评估板资源分布 烧录/调试的选项, 有三种方式
3.2.1 2线SWD模式 配合WCH-LINKE
优点 可以在MRS里debug可以动态调试更符合从STLINKKEIL迁移过来的开发者
缺点需要配WCH-LINKE设备
硬件连接
引脚P6-DEBUG WCH-LINKE连接SWD接口 在MRS里可以直接下载调试。
如果用WCH-LINKE的话也可以用 WCH-LinkUtility.exe 下载。 专用烧录工具比IDE里的功能要更齐备。
3.2.2 USB/串口WCHISPTool.exe 下载升级
稍稍麻烦一点 BOOT0接地0重启动烧录 接高电平1重启动运行程序。 优点不需要专用工具USB/串口都可以烧录
缺点需要准备一根飞线在烧录和运行状态下配置切换接线 强调 串口烧录必须BOOT0-VDD, BOOT1-GND连接好复位才行 然后烧录后 重新BOOT0-GND即可以进入程序运行状态
实测USB口和UART口都可以通过isptool正常烧录。
GPIO-TOGGLE例程串口连接正常情况下上电有打印消息
注意要点灯的话需要将排针的LED1连接到PA0 即可实现blink点灯...... 3.2.3 通过bootloader 串口在线烧录程序推荐 利用IAP例程的架构实现串口直接烧录在线升级。 --生产环境更实用。
注意 app一定要配置Link.ld文件指定FLASH/RAM大小 FLASH (rx) : ORIGIN 0x00005000 , LENGTH 128K RAM (xrw) : ORIGIN 0x20000000, LENGTH 64K 这样就提高调试效率了可以USB插着用于IAP更新下载固件APP, 串口插着打印调试
入口在xxx_it.c程序中的软中断入口 void SW_Handler(void) {__asm(li a6, 0x5000);__asm(jr a6);while(1); tips IAP里加入简单的固件校验还可以用于固件加密等扩展应用。
注意此处有坑
如果用IAP升级USB可以直接用工具选择bin文件升级
!!!但是如果是串口升级注意IAP给的bootloader例子里是用的串口3作为升级串口串口1依然是printf调试打印串口且波特率是57600当然可以修改。 代码,查看IAP例子的main.c: int main(void) {SystemCoreClockUpdate();Delay_Init();USART_Printf_Init(115200);printf(SystemClk:%d\r\n, SystemCoreClock);printf( ChipID:%08x\r\n, DBGMCU_GetCHIPID() );Set_USBConfig();USB_Init();USB_Port_Set(DISABLE, DISABLE);Delay_Ms(700);USB_Port_Set(ENABLE, ENABLE);USB_Interrupts_Config();USBFS_Init();USART3_CFG(57600);while(1){EP2_RecData_Deal();if( USART_GetFlagStatus(USART3, USART_FLAG_RXNE) ! RESET) {UART_Rx_Deal();}if (End_Flag){Delay_Ms(10);IAP_2_APP();while(1);}}
} 所以升级用的USB-TTL模块要接在PB10-RX, PB11-TX: 几种方式比较 应该通过加载BOOTLOADER后用USB升级是最方便的操作无需借助其他工具直接插USB就可以了。 4. 拿到SDK的入门路径
4.1 外设
BLINK--外部中断/KEY--UART--SPI/I2C/FLASH
--TIMER/PWM--ADC/DAC/RTC
--DMA/WDT/SDIO
***射频
4.2 RTOS操作系统
FREERTOS内核--任务--任务间通信--任务和中断协同