ST意法半导体
登录
直播中
廉鼎琮
9年用户
1031经验值
私信
关注
[问答]
如何将touchgfx移植到UCOSIII上?
开启该帖子的消息推送
TouchGFX
UCOSIII
有没有人将 touchgfx 移植到 UCOSIII 上?
回帖
(1)
何元
2023-1-3 11:36:43
#include
#include
#include
#include "os.h"
static OS_SEM frame_buffer_sem;
CPU_CHAR frame_buffer_sem_str[20] = "frame_buffer_sem";
CPU_CHAR vsync_queue_str[20] = "vsync_queue";
OS_Q vsync_queue;
static uint32_t dummy = 0x5a;
using namespace touchgfx;
void OSWrappers::initialize()
{
OS_ERR err;
OSSemCreate(&frame_buffer_sem, frame_buffer_sem_str, 0u, &err);
OSQCreate(&vsync_queue, vsync_queue_str, 1, &err);
}
void OSWrappers::takeFrameBufferSemaphore()
{
OS_ERR err;
CPU_TS ts;
(void)OSSemPend(&frame_buffer_sem, 0u, OS_OPT_PEND_BLOCKING, &ts, &err);
}
void OSWrappers::giveFrameBufferSemaphore()
{
OS_ERR err;
OSSemPost(&frame_buffer_sem, OS_OPT_POST_1, &err);
}
void OSWrappers::tryTakeFrameBufferSemaphore()
{
OS_ERR err;
CPU_TS ts;
(void)OSSemPend(&frame_buffer_sem, 0u, OS_OPT_PEND_NON_BLOCKING, &ts, &err);
}
void OSWrappers::giveFrameBufferSemaphoreFromISR()
{
OS_ERR err;
OSSemPost(&frame_buffer_sem, OS_OPT_POST_NO_SCHED, &err);
}
void OSWrappers::signalVSync()
{
OS_ERR err;
OSQPost(&vsync_queue, &dummy, sizeof(uint32_t), OS_OPT_POST_FIFO, &err);
}
void OSWrappers::signalRenderingDone()
{
}
void OSWrappers::waitForVSync()
{
OS_ERR err;
CPU_TS ts;
OS_MSG_SIZE msg_size;
OSQPend(&vsync_queue, 0, OS_OPT_PEND_NON_BLOCKING, &msg_size, &ts, &err);
OSQPend(&vsync_queue, 0, OS_OPT_PEND_BLOCKING, &msg_size, &ts, &err);
}
void OSWrappers::taskDelay(uint16_t ms)
{
OS_ERR err;
OSTimeDly(ms, OS_OPT_TIME_DLY, &err);
}
#include
#include
#include
#include "os.h"
static OS_SEM frame_buffer_sem;
CPU_CHAR frame_buffer_sem_str[20] = "frame_buffer_sem";
CPU_CHAR vsync_queue_str[20] = "vsync_queue";
OS_Q vsync_queue;
static uint32_t dummy = 0x5a;
using namespace touchgfx;
void OSWrappers::initialize()
{
OS_ERR err;
OSSemCreate(&frame_buffer_sem, frame_buffer_sem_str, 0u, &err);
OSQCreate(&vsync_queue, vsync_queue_str, 1, &err);
}
void OSWrappers::takeFrameBufferSemaphore()
{
OS_ERR err;
CPU_TS ts;
(void)OSSemPend(&frame_buffer_sem, 0u, OS_OPT_PEND_BLOCKING, &ts, &err);
}
void OSWrappers::giveFrameBufferSemaphore()
{
OS_ERR err;
OSSemPost(&frame_buffer_sem, OS_OPT_POST_1, &err);
}
void OSWrappers::tryTakeFrameBufferSemaphore()
{
OS_ERR err;
CPU_TS ts;
(void)OSSemPend(&frame_buffer_sem, 0u, OS_OPT_PEND_NON_BLOCKING, &ts, &err);
}
void OSWrappers::giveFrameBufferSemaphoreFromISR()
{
OS_ERR err;
OSSemPost(&frame_buffer_sem, OS_OPT_POST_NO_SCHED, &err);
}
void OSWrappers::signalVSync()
{
OS_ERR err;
OSQPost(&vsync_queue, &dummy, sizeof(uint32_t), OS_OPT_POST_FIFO, &err);
}
void OSWrappers::signalRenderingDone()
{
}
void OSWrappers::waitForVSync()
{
OS_ERR err;
CPU_TS ts;
OS_MSG_SIZE msg_size;
OSQPend(&vsync_queue, 0, OS_OPT_PEND_NON_BLOCKING, &msg_size, &ts, &err);
OSQPend(&vsync_queue, 0, OS_OPT_PEND_BLOCKING, &msg_size, &ts, &err);
}
void OSWrappers::taskDelay(uint16_t ms)
{
OS_ERR err;
OSTimeDly(ms, OS_OPT_TIME_DLY, &err);
}
举报
更多回帖
rotate(-90deg);
回复
相关问答
TouchGFX
UCOSIII
请问
如何将
UCOSIII
系统
移植
到
ADSPBF609建立的工程文件中?
2018-09-07
2273
怎样
将
UCOSIII
移植
到
STM32F103RC开发板
上
呢
2021-11-02
2214
STM32F429是怎样
移植
TouchGFX
到
RT-Thread系统
上
的
2021-10-18
1953
如何将
BLDC进电机控制算法
移植
到
STM微控制器
上
呢?
2023-01-17
579
如何在
UCOSIII
上
移植
LWIP?
2019-10-14
1671
如何将
eCOS
移植
到
stm32h743vi
上
?
2022-01-26
1120
如何成功在战舰STMF103
上
移植
ucosiii
+ lwip?
2019-10-18
1086
ucosiii
移植
到
STM32F103RB的程序
2019-05-14
1990
如何将
linux3.0.35
移植
到
okmx6q-c开发板
上
呢
2022-01-11
944
如何将
gdb
移植
到
嵌入式板子
上
单独运行呢
2021-12-24
1621
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分