MX1081开发手记....bootloader是可以改掉的.
时间:10-02
整理:3721RD
点击:
顺便答疑群里有提问,[忘了是谁],程序完全可以替换掉Bootloader.这几天又研究了一下原子哥的DFU升级什么的.
里面虽然是一个标准的芯片,但是分了几个区段.
- 0x08000000 - 0x08003FFF 是Bootloader,可以改,调试时候不推荐改.
- 0x08004000 - 0x0800BFFF 是OTA信息.
- 0x0800C000 - 0x08060000 是用户自由分配程序区段.
- 0x08060000 - 0x080C0000 是OTA时候的储存空间.
- 0x080C0000 - 0x080FFFFF 射频驱动程序,不能改哦.
- ADC实验从PA6读取模拟的数值,然后采样,串口发送,DMA方式,还控制LED灯闪烁,PA6对应外部模块的第一个旋钮.
- 按键实验中,按键的短路帽默认是插上了,但是按键好像没想象中好使.
- I2C测试是把I2C插在I2C1上,I2C的实现方式是查询法!
- USB实验例子说的是HID
- 初始化
- 加入网络
- mxchipTick
- 用户程序
在程序刚进入时候,mxchipInit,进行初始化,一般都会成功.然后配置参数,并初始化,一般情况如下:
void softAPModeStart(void){ memset(&wNetConfig, 0x0, sizeof(network_InitTypeDef_st)); wNetConfig.wifi_mode = Soft_AP; strcpy((char *)wNetConfig.wifi_ssid, "uAP"); strcpy((char *)wNetConfig.wifi_key, ""); strcpy((char *)wNetConfig.local_ip_addr, "192.168.0.1"); strcpy((char *)wNetConfig.address_pool_start, "192.168.0.10"); strcpy((char *)wNetConfig.address_pool_end, "192.168.0.177"); wNetConfig.dhcpMode = DHCP_Server; StartNetwork(&wNetConfig); printf("Setup soft AP: %s\r\n", wNetConfig.wifi_ssid);} 当然也可以初始化成Station:
void stationModeStart(void){ memset(&wNetConfig, 0x0, sizeof(network_InitTypeDef_st)); wNetConfig.wifi_mode = Station; strcpy((char *)wNetConfig.wifi_ssid, AP_NAME); strcpy((char *)wNetConfig.wifi_key, AP_PASSWORD); wNetConfig.dhcpMode = DHCP_Client; StartNetwork(&wNetConfig); printf("connect to %s.....\r\n", wNetConfig.wifi_ssid);} 然后在里面该怎么就怎么.比如DNS,就gethostbyname,这样说起来,其实做得还不错的,简化了很多开发步骤.