亲爱的对话yabo国际娱乐半导体,
我正在为多传感器套件DA14585固件添加新的用户空间任务。我是RW实时内核的新手,我不知道如何实现一个简单的任务,什么也不做,但处理一个简单的应用程序SW定时器1秒,并增加一个变量值。我不需要消息或任何复杂的东西在这里。
是否存在一个推荐的例子代码或固件代码,我可以启发自己?
最好的问候,
切赫
关键词:
设备:
我有以下代码。函数clocks_handler()永远不会调用。是因为任何消息都没有被发送到task_clocks任务?是通过发送消息驱动的任务切换过程吗?
你能帮助我吗?
一旦我试图发送一个虚拟消息(从app.c模块复制),SIGTRAP异常被捕获。消息发送代码添加在app_entry_point_handler()的开头。根据例外情况,似乎有什么东西没有正确注册。
消息发送代码人工制品如下:
task定义enum在这里(TASK_CLOCKS几乎在末尾添加):
一旦我在KE_TASK_TYPE枚举中添加了TASK_CLOCKS,就在TASK_APP后面发现了同样的异常SIGTRAP。
这里出了什么问题?
嗨hwidvorakinfo,
我会在我这边检查,并尽快给你回复。
Br
宜宾
亲爱的宜宾,有可能如何帮助我吗?
切赫
你好,宜宾,
我只想添加函数swclock_init()是从模块arch_system.c中的system_init()函数调用。在下面的代码中,swclock_init()调用被放置在底部:
我又前进了一步,但我仍然在拐弯抹角。
我回到文档。在文档UM-B-079_DA14585_586_SDK_6_Software_Platform_Reference_5v0中,我发现:
内核的核心是在应用程序的主循环中运行的调度程序。调度程序检查是否设置了事件并通过调用相应的处理程序来服务待处理的事件。该事件可以是BLE或TIMER事件,两个任务之间的消息。
任务调度程序是由事件驱动的。我们开始计时。我想使用easy_app_timer API函数,但是这个实现只使用TASK_APP环境。我不想重写了。再退一步。我将启动计时器,而不是一个任务。
但是这里的问题是将swclock_init()函数调用放在哪里。
我试过了空白system_init(空白)在ARCH_SYSTEM.C模块中,但CLOCKS_HANDLER()未调用:
我试过了空白user_iot_app_on_init.(空白),但是clocks_handler()没有被调用:
我尝试了很多地方,但只有一个地方行得通:
在哪里放置我的用户空间函数初始化器?我不想和这个项目有任何争执。我想让它尽可能好,但我不想黑进代码,在代码中制造肮脏的东西。
请问,你能帮我解决上面的问题和这个问题吗?
致以最亲切的问候
切赫
好吧,可能不会有什么帮助。我通过设置一个计时器来帮助自己,计时器处理程序为从BLE任务分派器下面的主循环调用的另一个函数启用了一个标志。它不优雅,也不伟大,但它在工作。
亲爱的对话yabo国际娱乐框半导体,请你帮我解决我仍有的任务问题吗?
嗨hwidvorakinfo,
我道歉,但可能我错过了你的问题,不确定发生了什么。我会查看您提供的所有信息,我会尽力为您提供尽快帮助您。
谢谢,PM_Dialog
嗨hwidvorakinfo,
我看了你之前的评论,我有点困惑。你能解释一下你想完成什么吗?一般情况下,不建议修改SDK文件。应该使用SDK中提供的所有SDK。您应该使用我们的app_easy_xxx api。您对app_easy_timer的要求是什么?
谢谢,PM_Dialog
你好pm_dialog,
问题很简单。如何创建与现有应用程序任务一起运行的新任务。整个计时器只是一个权宜之计。
切赫
嗨hwidvorakinfo,
请记住,DA145xx产品系列不支持多任务处理功能。DA1468x/ DA1469x基于实时抢占式操作系统FreeRTOS,该系统具有多任务处理能力。Kernel是一个非常简单的调度程序,它不提供与FreeRTOS相同的功能。SDK提供了一些api来开始开发您自己的应用程序。您不应该自己创建任务和处理程序。如果您想自己做实验,请阅读UM-B-051文件5.3节。任务是通过调用ke_task_create()函数创建的。
谢谢,PM_Dialog
你好pm_dialog,
谢谢你。
切赫
你好,
添加到PM_Dialog的注释…
在一个新的RW任务中实现您的功能,只有当该任务需要作为多个动态创建的实例运行时才会有好处(即使这样,您也很可能更好不执行一个新任务)。如果您的“任务”作为单个实例运行,您应该将其作为主用户任务的一部分运行,从而节省实现一个新的RW任务带来的开销和复杂性。任务切换不是“免费”的。
MHv
你好mhv_dialog,
谢谢你的解释。我将RW内核作为调度程序运行任务。
P。