FreeRTOS 10 & POSIX

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
8个帖子/ 0个新
最后发表
bobspam@free.fr
离线
最后看到:3个月1周前
加入:2018-06-20 08:07
FreeRTOS 10 & POSIX

你好

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

是否有可用的路线图来说明是否/何时计划升级?

提前谢谢你

关键词:
设备:
PM_Dialog
离线
最后看到:1小时17分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

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

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月1周前
加入:2018-06-20 08:07
你好

你好

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

我用10个替换了大部分的FreeRTOS 8文件。新版本的编译与POSIX库从amazon最终是ok的,如果:
-没有更新ARM_C0/port.c和portmacro.h。(新版本实现了Thumb-2,最终导致一些编译错误)
——激活configSUPPORT_STATIC_ALLOCATION。main.c中必须包含以下语句:
https://www.freertos.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
- #define configIDLE_TASK_STACK_SIZE 60(图60已被报告用于一些其他的Cortex-M0项目)

我结束了
建设目标:FreeRTOS_Demo.elf
调用:交叉ARM C链接器
[…]
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: 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: region RAM overflow with stack .
c:/program files (x86)/diasemi/smartsnippetsstudio/gcc/4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../ arm-none-eabi/bin/ ld_safe .exe: region ' RAM'溢出864字节

这意味着我需要清理SDK删除未使用的功能…

未完待续

PM_Dialog
离线
最后看到:1小时17分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

因为它已经在宝贵的帖子中提到,目前不支持。不过,很高兴您用10个文件替换了大多数FreeRTOS 8文件,感谢您的提示。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月1周前
加入:2018-06-20 08:07
嗨PM_Dialog,

嗨PM_Dialog,

工作了几天之后

—DA14683 SDK可以通过Ubuntu LTS 18.0.4标准自带的arm-none-eabi-gcc version 15:6.3.1+svn253039-1build1成功编译。编译器的默认配置被破坏,但自制的Makefile withnostdlib在编译和链接上激活最终工作。
—以下顺序必须手动链接:crt0。o crti。o crtbegin。[-L paths] [user objects] [gcc libs] [C libs] [gcc libs] crtendo crtn。o(感谢Gentoo论坛:https://dev.gentoo.org/~vapier/crt.txt).在Eclipse环境中似乎没有正确地设置这个序列。检查;因为在尝试使用amazon POSIX库时,似乎使用了一些系统头文件,并发生了重定义。

-亚马逊仓库中的FreeRTOS文件可以“原样”替换SDK中交付的V8
- V8 ARM_C0/port.c和port宏.h必须仍然使用,因为实现DA1468x的低级别特性
- #define configSUPPORT_STATIC_ALLOCATION 1 (with functions added to main.c.)见前面)
- #define configUSE_POSIX_ERRNO 1必须添加到FreeRTOSConfig.h
一些头文件的相对路径将被清理,以避免使用V8头文件
-删除V10 mpu_wrapper .h中的PRIVILEDGE_DATA重定义
-从其他目标使用一个空的FreeRTOS_POSIX_portable.h

- POSIX文件从amazon存储库可以添加到项目和编译原样。

使用此配置,freertos_retarget可以在USB开发套件上正常工作。

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

未完待续……

bobspam@free.fr
离线
最后看到:3个月1周前
加入:2018-06-20 08:07
你好

你好

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

移植ARM_C0/port.c和port宏.h是很简单的。源代码是相同的,但是在汇编部分的开始部分,FreeRTOS 10启用了Thumb2的使用。

我确认它很容易工作,POSIX适配层也工作。
pthread_create就可以了。

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

Amazon版本缺少pthread_cancel函数来正确执行服务析构函数。在不设计为关机的系统中,这并不重要。

致以最亲切的问候

PM_Dialog
离线
最后看到:1小时17分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

谢谢你的提示。

谢谢,PM_Dialog

bobspam@free.fr
离线
最后看到:3个月1周前
加入:2018-06-20 08:07
你好,

你好,

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

我也确认互斥和消息队列也可以工作。
条件变量和信号量仍然需要在我这边进行测试。

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

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

谢谢