OSAL系统相关问题
2011-05-31 23:35
141 查看
OSAL中断操作:
1、 允许中断
byte osal_int_enable( byte interrupt_id )
-- interrupt_id:中断标示符
2、禁止中断
byte osal_int_disable( byte interrupt_id )
-- interrupt_id:中断标示符
3、暂停中断
HAL_ENTER_CRITICAL_SECTION(x)
4、重新启用中断
HAL_EXIT_CRITICAL_SECTION(x)
OSAL内存操作:
1、分配内存
void *osal_mem_alloc( uint16 size )
-- size:分配缓冲区的大小
2、释放内存
void osal_mem_free( void *ptr )
-- ptr:指向释放的缓冲区
OSAL消息传递:
1、分配信息缓冲区
byte * osal_msg_allocate( uint16 len )
-- len:信息的长度
2、发送信息
byte osal_msg_send( byte destination_task, byte
*msg_ptr )
-- destination_task:接收信息任务的标示符
-- msg_ptr:消息指针
3、接收信息
byte *osal_msg_receive( byte task_id )
-- task_id:接收信息的任务ID
4、释放消息缓冲区
byte osal_msg_deallocate( byte *msg_ptr )
-- msg_ptr:消息指针
OSAL任务管理
1、任务初始化
byte osal_init_system( void )
--要创建的任务列表
2、任务开始
void osal_start_system( void )
--系统任务的主循环函数
3、获取活动任务ID
byte osal_self( void )
--中断服务子程序中调用将会发生错误
4、事件句柄的函数原型
(*pTaskEventHandlerFn)( unsigned char task_id, unsigned short event )
OSAL定时器:
1、启动定时器
byte osal_start_timerEx( byte taskID, UINT16 event_id, UINT16 timeout_value )
-- taskID:定时器终止时事件任务的任务ID
-- event_id:用户定义的事件,时间终止时通知这个事件
--定时器设置前的时间量
2、停止定时器
byte osal_stop_timerEx( byte task_id, UINT16 event_id )
-- task_id:事件任务的任务ID
-- event_id:用户自定义事件
3、读取系统时钟
uint32 osal_GetSystemClock( void )
--用来读取系统时钟(毫秒级)
1、 允许中断
byte osal_int_enable( byte interrupt_id )
-- interrupt_id:中断标示符
2、禁止中断
byte osal_int_disable( byte interrupt_id )
-- interrupt_id:中断标示符
3、暂停中断
HAL_ENTER_CRITICAL_SECTION(x)
4、重新启用中断
HAL_EXIT_CRITICAL_SECTION(x)
OSAL内存操作:
1、分配内存
void *osal_mem_alloc( uint16 size )
-- size:分配缓冲区的大小
2、释放内存
void osal_mem_free( void *ptr )
-- ptr:指向释放的缓冲区
OSAL消息传递:
1、分配信息缓冲区
byte * osal_msg_allocate( uint16 len )
-- len:信息的长度
2、发送信息
byte osal_msg_send( byte destination_task, byte
*msg_ptr )
-- destination_task:接收信息任务的标示符
-- msg_ptr:消息指针
3、接收信息
byte *osal_msg_receive( byte task_id )
-- task_id:接收信息的任务ID
4、释放消息缓冲区
byte osal_msg_deallocate( byte *msg_ptr )
-- msg_ptr:消息指针
OSAL任务管理
1、任务初始化
byte osal_init_system( void )
--要创建的任务列表
2、任务开始
void osal_start_system( void )
--系统任务的主循环函数
3、获取活动任务ID
byte osal_self( void )
--中断服务子程序中调用将会发生错误
4、事件句柄的函数原型
(*pTaskEventHandlerFn)( unsigned char task_id, unsigned short event )
OSAL定时器:
1、启动定时器
byte osal_start_timerEx( byte taskID, UINT16 event_id, UINT16 timeout_value )
-- taskID:定时器终止时事件任务的任务ID
-- event_id:用户定义的事件,时间终止时通知这个事件
--定时器设置前的时间量
2、停止定时器
byte osal_stop_timerEx( byte task_id, UINT16 event_id )
-- task_id:事件任务的任务ID
-- event_id:用户自定义事件
3、读取系统时钟
uint32 osal_GetSystemClock( void )
--用来读取系统时钟(毫秒级)
相关文章推荐
- OSAL系统相关问题
- Android 保存图片到系统及相关问题的解决方案
- [iOS 10 适配问题] 整合iOS10系统的适配相关内容
- Android 保存图片到系统及相关问题的解决方案
- 建立医院客户CRM服务系统的经验介绍及相关问题探讨
- xp与Vista双系统 相关问题
- MAC系统升级后APACHE/MYSQL相关问题解决
- Android Wi-Fi 系统睡眠相关问题解释
- 重新安装系统之后遇到的WK相关的两个问题
- LINUX 系统如何配置IP 和NDS 还有相关问题解决办法
- 浅谈网上在线考试系统成绩管理相关问题的思考
- Windows Vista 系统用户名、密码、登陆相关问题汇总(转)
- DELL XPS15 安装WIN10+ubuntu 14.04双系统 相关问题
- 一些系统相关问题解决方案
- Android多层嵌套Fragment中调用系统相机拍照以及裁剪的相关问题解决
- java版CCF认证之门禁系统相关问题
- rsync 在CentOS等Linux系统下搭建及相关问题分析
- 重新安装系统之后遇到的WK相关的两个问题
- window系统 temp用户 相关问题
- 从grub rescue> 问题解决,温习操作系统中文件系统的相关内容