freeertos 10 & POSIX

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
8个职位/ 0个新职位
最后一篇文章
bobspam@free.fr
离线
最后一次见到:5个月2周前
加入:2018-06-20 08:07
freeertos 10 & POSIX

你好

我愿意使用amazon freertos的posix库,位于:
https://github.com/aws/amazon-freertos
它是用freertos 10打包的,而DA1468x SDK是用freertos 8打包的。

是否有可用的路线图指示是否/何时计划升级?

先谢谢你

装货单

关键词:
设备:
PM_对话框
离线
最后一次见到:1周2天前
工作人员
加入:2018-02-08 11:03
你好bobspam@free.fr,

你好bobspam@free.fr,

我们正致力于DA1468x SDK中对FreeRTOS 10的支持。预计发布时间为2019年第二季度。

谢谢,下午好

bobspam@free.fr
离线
最后一次见到:5个月2周前
加入:2018-06-20 08:07
你好

你好

谢谢你的回答。很高兴知道,但我不能再等6个月了。

我用10个文件替换了大部分的FreeRTOS 8文件。编译的新版本与POSIX库从亚马逊最终是ok的,如果:
-ARM_C0/port.c和portmacro.h未更新。(新版本实现了Thumb-2,最终导致一些编译错误)
-正在激活配置支持\u静态\u分配。以下声明必须包含在main.c中:
https://www.freertos.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
-#定义configIDLE_任务_堆栈_大小60(据报告,图60用于其他一些Cortex-M0项目)

我结束了
构建目标:FreeRTOS_Demo.elf
调用:交叉臂C连接器
[...]
c:/program files (x86)/diasemi/ smartsnippetstudio /gcc/4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: FreeRTOS_Demo. exe:精灵节”。bss'不适合区域' RAM'
c:/program files(x86)/diasemi/smartsnippetsstudio/gcc/4_9-2015q3/bin/。/lib/gcc/arm-none-eabi/4.9.3/。/../../../../../arm-none-eabi/bin/ld.exe:区域RAM溢出堆栈
c:/program files (x86)/diasemi/smartsnippetsstudio/gcc/4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: region ' RAM'溢出864字节

这意味着我需要通过删除未使用的功能来清理SDK。。。

待续

PM_对话框
离线
最后一次见到:1周2天前
工作人员
加入:2018-02-08 11:03
你好bobspam@free.fr,

你好bobspam@free.fr,

正如珍贵的帖子中已经提到的,当前不支持。不过,很高兴您将大部分FreeRTOS 8文件替换为10个文件,并感谢您的指示。

谢谢,下午好

bobspam@free.fr
离线
最后一次见到:5个月2周前
加入:2018-06-20 08:07
你好,下午对话,

你好,下午对话,

几天后的工作

-DA14683 SDK可以通过标准的Ubuntu LTS 18.0.4提供的arm none eabi gcc版本15:6.3.1+svn253039-1build1成功编译。编译器的默认配置已损坏,但自制的Makefile具有nostdlib在编译和链接时激活,最终有效。
-必须手动链接以下序列:crt0.o crti.o crtbegin.o[-L路径][user objects][gcc libs][C libs][gcc libs]crtend.o crtn.o(感谢Gentoo论坛:https://dev.gentoo.org/~vapier/crt.txt)。在Eclipse环境中似乎未正确设置此序列。待核查;因为似乎使用了一些系统头,在尝试使用amazon POSIX libs时会发生重新定义。

-amazon存储库中的FreeRTOS文件可以“按原样”使用,以替换SDK中提供的V8
-由于实施了DA1468x低级功能,必须继续使用V8 ARM_C0/port.c和portmacro.h
-#定义配置支持(静态)分配1(将函数添加到main.c中。参见上文)
-#定义配置使用_POSIX_ERRNO 1必须添加到FreeRTOSConfig.h中
一些头文件的相对路径将被清理,以避免使用V8头文件
-删除V10 mpu包装器.h中的特权边缘数据重新定义
-从其他目标使用空的FreeRTOS_POSIX_portable.h

-amazon存储库中的POSIX文件可以添加到项目中并按原样编译。

freertos_retarget在使用此配置的USB开发工具包上运行良好。

在继续之前,我仍然需要检查Amazon的POSIX实现,但是所有这些听起来都成熟并准备好使用,所以你应该考虑向前推进并把它带进SDK。POSIX libs是在linux下制作软件原型并将其应用于嵌入式系统的一种非常有效的方法。

待续。。。

bobspam@free.fr
离线
最后一次见到:5个月2周前
加入:2018-06-20 08:07
你好

你好

我确认SDK中嵌入的FreeRTOS 8和亚马逊维护的FreeRTOS 10之间没有重大区别。

移植ARM_C0/port.c和portmacro.h很简单。源代码相同,但在汇编部分的开头有一个例外,其中FreeRTOS 10启用了Thumb2的使用。

我确认它很容易工作,POSIX适配层也在工作。
pthread_create正常。

堆消耗较高,因此必须检查内存映射,“堆栈溢出”和“malloc失败”挂钩必须被激活,以获得正确的调试。

Amazon版本缺少pthread_cancel函数来正确执行服务析构函数。对于不是设计为关闭的系统,这应该不是关键。

致以最亲切的问候

PM_对话框
离线
最后一次见到:1周2天前
工作人员
加入:2018-02-08 11:03
你好bobspam@free.fr,

你好bobspam@free.fr,

谢谢你的指示。

谢谢,下午好

bobspam@free.fr
离线
最后一次见到:5个月2周前
加入:2018-06-20 08:07
你好

你好

pthread的Amazon实现对创建的线程使用非常低级别的堆栈内存。
必须使用Pthread_attr_t通过手动设置每个线程的堆栈大小来获得整个系统的正确行为。

我还确认互斥和消息队列也可以工作。
条件变量和信号量仍有待我方测试。

亚马逊软件附带了很多其他的好东西
-MQTT
-PKCS11
- - - - - - TLS

DA1468x的下一个版本可能是256k的内部内存:-)

谢谢