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

你好

我愿意使用亚马逊-freertos的posix库,位于:
https://github.com/aws/amazon-freertos
它与freertos 10打包在一起,而DA1468x SDK与freertos 8打包在一起。

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

先谢谢你

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

bobspam@free.fr

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

谢谢,PM_Dialog

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

你好

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

我用10个文件替换了大部分的FreeRTOS 8文件。编译的新版本与POSIX库从亚马逊最终是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/ 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/ smartsnippetstudio /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.exe: region ' RAM'溢出864字节

意思是我需要清理SDK通过删除未使用的功能…

未完待续

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

bobspam@free.fr

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

谢谢,PM_Dialog

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

嗨PM_Dialog,

几天后的工作

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

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

-来自amazon仓库的POSIX文件可以添加到项目中,并按原样编译。

freertos_retarget使用这个配置可以很好地在USB dev工具包上工作。

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

未完待续……

bobspam@free.fr
离线
最后看到:1个月6天前
加入: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_Dialog
离线
最后看到:15小时9分钟前
工作人员
加入:2018-02-08 11:03
嗨bobspam@free.fr,

bobspam@free.fr

谢谢你的提示。

谢谢,PM_Dialog

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

你好,

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

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

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

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

谢谢