rk27平台开发使用基础培训讲义.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
rk27平台开发使用基础培训讲义

BOOT烧写 新的板子或新的Nand Flash在烧写固件之前,应进行boot的烧写,boot升级方法请参考RK27_SDK\Tools目录下《RK27烧写指南.doc》文档 当boot程序有升级时,也应及时进行boot的升级,否则有可能由于固件和boot不兼容而产生错误和冲突 图片资源 原始图片资源位于Resource\input\bmp目录下,可根据需要进行增删修改 Resource根目录下的*.cfg文件用来配置图片和文本资源的输入、输出目录等 原始图片应当是BMP图片,文件名应当是英文或数字名,不可含中文或空格 图片目录可以是中文名。 编译完资源后,将会在Resource\include目录下自动生成Bmp0ID.h的文件,该文件是所有原始图片ID的集合,在代码中引用该ID即可访问对应的图片。 图片资源生成后的目标文件是Output\RESOURCE\BID目录下的BMP0.BIN (注:为防止编译产生资源ID引用错误,应在编译代码之前先编译资源) 文本资源 原始文本资源位于Resource\input\stringid目录下excel文件unicodeSid.xls,使用office excel打开进行编辑。其中一列代表一国语言。 编辑完原始文本后应另存为txt格式,且选择unicode另存为文本unicode.txt。 进行资源编译后,所有文本ID位于Resource\include目录下stringID.h文件,在代码中引用相应的ID即可访问其对应的文本资源。当语言发生改变时,使用相同的ID。 文本资源生成后,其目标文件是位于Output\RESOURCE\SID目录下的STRINGID.BIN文件 (其他小工具均位于\Resource\bin目录下,请参看其说明) 仿真调试界面 内容提要 系统和应用软件 操作系统 RKOS是Rockchip公司自主研发的一个实时抢占性多任务操作系统,主要支持信号量和消息(邮箱)两种通信方式。 操作系统的基本调度方法是优先级调度法 任务 RKOS的任务是一个具有独立堆栈的无限循环函数,每个任务都可以被内核或中断强占,一个任务可以不依赖其他任务单独运行。RKOS中任务的概念和通用操作系统一致. RKOS中具有五个基本任务:PriHighTask,PriMHighTask,PriNormalTask,PriLowTask和TimerTask,参与任务切换的还包括中断程序和IDLE任务, 一个优先级只对应一个任务,这些任务均由内核启动时静态创建。所有任务一直驻留在内存之中,优先级不发生动态变化。 一般地,用户不新创建任务 任务举例 任务的状态转换 当任务被创建后,处于就绪队列。OS TICK(5ms一次)到来之机,将就绪队列中优先级最高的任务和当前运行的任务比较,若比当前任务优先级更高,则执行任务切换,否则继续运行当前任务。 当前任务恒定只有一个,在当前任务运行的过程中,若需要等待一个条件(比如等待接受一个消息,等待申请一个信号量等),则会进入挂起状态,就绪队列中的最高任务会转入运行。 挂起的任务所等待的条件到来时(如收到了消息,申请到了信号量等),此任务会转入就绪队列。优先级满足时会即刻转入运行。 任务的基本状态 线程 RKOS的线程是包含在某个任务之内的一个可独立处理消息的程序,一个任务可以包含有多个线程。线程没有独立的堆栈,RKOS线程具有如下特性 ◆ 同一个任务内的所有线程共用该任务的堆栈。 ◆ 同一个任务内的所有线程按照注册次序顺序执行(串行),没有调度关系。 ◆ 不同任务内的线程并行执行。 ◆ 一个任务内的某个线程若一直等待一个条件,则此任务内的其他线程都得不到执行,但其他任务内的线程可以得到执行。 线程有少数几个是系统初始化时自建的,如GUI线程和刷屏线程,始终驻留在系统之中,用户的需要用到时,不需要再建立,只需要将代码嵌入在其中即可,如GUI系统。 使用RockAppCreateThread动态注册一个线程(关联到一个应用程序)。注册时给出线程名和所属任务的优先级,若注册成功,返回一个线程句柄。注销时只需要提供线程句柄。 线程函数写法 线程函数本质上是一个处理消息的函数体,具有固定的类型和参数,如下图是一个刷屏的线程,处理三个消息 线程的运行 线程的运行是在该线程的任务中进行,当任务收到消息时,会将消息分发给注册在本任务的线程,分发函数如下,即从线程列表中逐一取出线程回调函数,依次调用并将消息传递给线程,若该线程响应了此条消息,则不继续往下一线程派发,否则一直派发到最后一个线程。 线程被任务调用 操作系统消息 消息用于线程(或任务)之间的数据传递,可传送任意长度的数据。其接口是: RockO

文档评论(0)

李丽 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档