我正在开发基于LPC17XX + FreeRTOS的设备固件。我的开发环境是Eclipse + GCC,代码在C中。最终产品的要求是:
- 运行RTOS并执行某些定期任务的“基本固件”(例如,执行运行状况检查)。
- 基本固件需要支持API,该API具有一些数据操作/延迟/定时功能以及使用设备端口和I / O的一些功能。
- 用户可以使用此API构建自己的应用。
- 用户应用程序需要驻留在闪存的空白区域。 (它将通过串口发送到设备,我打算使用IAP将其保存在闪存上)
- 我想从“基础固件”启动应用程序作为新任务。
醇>
步骤1和3相当容易实现。我不确定实现2,3和4的最佳方法是什么。到目前为止,我已经看过动态链接,跳转表,覆盖等等,我有点迷茫。有人可以给我一个正确实施步骤的概述吗?
一些相关问题:
- 为提供基于API的应用程序/模块开发和加载的产品开发固件的任何其他方法?
- 我需要向用户提供什么才能使用API?我的API源代码是否会打开?
醇>
我愿意接受任何想法,谢谢:)