搜索

[无线连接] 【PIC-IoT WA开发板】+开发工具和代码分析

[复制链接]
160|0
 楼主 | 2020-10-29 12:44 | 显示全部楼层 |阅读模式
本帖最后由 北方西门吹雪 于 2020-10-29 16:26 编辑

1、收到的开发板是PIC-IoT WA是内置的AWS云联接,连接azure和google cloud的是另外的型号。另外还有一款AVR-IoT是对应AVR芯片的物联网开发板。
927792244.jpg
2、根据手册下载MPLAB X和XC16编译器如下,
捕获.JPG
然后从github下载pic-iot-aws-sensor-node-master,用开发板工具打开项目,
捕获.JPG

这样完整的项目就加载成功,里面会提示需要下载开发包pack,以及独立的插件,挨个安装并重启就可以的。
整个项目的结构是相当的复杂,涉及flash文件结构,文件读取,wifi模块的串口连接,安全验证,以及连接aws云服务的验证和设定。
从连接的用户体验是非常好的,但是对应开发者来说是真心的不容易。编译成功,
捕获.JPG
输出如下内存的map,

  1. Default Code Model: Small
  2. Default Data Model: Large
  3. Default Scalar Model: Small

  4. "program" Memory  [Origin = 0x100, Length = 0x15e00]

  5. section                    address   length (PC units)   length (bytes) (dec)
  6. -------                    -------   -----------------   --------------------
  7. .text                        0x100              0x3474          0x4eae  (20142)
  8. .const                      0x3574               0x6fa           0xa77  (2679)
  9. .dinit                      0x3c6e               0x57a           0x837  (2103)
  10. .text.m2m_ip_cb             0x41e8               0x364           0x516  (1302)
  11. .text.MQTT_CreateConnectPacket    0x454c               0x31e           0x4ad  (1197)
  12. .text.application_init      0x486a               0x1fa           0x2f7  (759)
  13. .text.MQTT_TransmissionHandler    0x4a64               0x1cc           0x2b2  (690)
  14. .text.wifiCallback          0x4c30               0x1b2           0x28b  (651)
  15. .text.sslSetSockOpt         0x4de2               0x1ae           0x285  (645)
  16. .text.winc_hif_send         0x4f90               0x1aa           0x27f  (639)
  17. .text.winc_chip_init        0x513a               0x198           0x264  (612)
  18. .text.set_wifi_auth         0x52d2               0x192           0x25b  (603)
  19. .text.MQTT_ReceptionHandler    0x5464               0x180           0x240  (576)
  20. .text.MQTT_CreatePublishPacket    0x55e4               0x176           0x231  (561)
  21. .text.atcab_read_bytes_zone    0x575a               0x164           0x216  (534)
  22. .text.m2m_wifi_connect_sc    0x58be               0x152           0x1fb  (507)
  23. .text.MQTT_CreateSubscribePacket    0x5a10               0x140           0x1e0  (480)
  24. .text.m2m_ssl_cb            0x5b50               0x13e           0x1dd  (477)
  25. .text.m2m_ssl_retrieve_cert    0x5c8e               0x138           0x1d4  (468)
  26. .text.mqttProcessPublish    0x5dc6               0x134           0x1ce  (462)
  27. .text.LED_control           0x5efa               0x12a           0x1bf  (447)

  28. ........................................................................
复制代码

然后是下载


在这个过程显示超出内存index,下载中止。 捕获.JPG
那么是工程设置有些问题,需要继续分析和修改。
程序的分析,整个系统是用线程实现的,那么主程序就是启动线程,主要的调度工作都是由后面的应用线程管理实现的。
主程序如下,
  1. #include "mcc_generated_files/application_manager.h"

  2. int main(void)
  3. {
  4.         application_init();

  5.         while (1)
  6.         {
  7.                 runScheduler();  
  8.         }
  9.    
  10.         return 0;
  11. }
复制代码
这样,针对每个部分的开发就隔离到一个个线程中去,新增的任务就是新创建线程就可以的e


使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表