RK27xx平台开发说明.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RK27xx平台开发说明.doc

福州瑞芯微电子有限公司 第  PAGE 5 页 QQ RK27xx 平台开发说明 本文是在RK27XX平台上进行软件开发的说明,以及开发时的注意事项。软件开发人员按照此规范的要求进行RK27xx的应用软件开发。本文的阅读对象是Rockchip的应用软件工程师,相关代理商的研发工程师等。 有关软件代码的编写规范,请参考《RK27XX平台编程规范.doc》一文 一、软件开发包目录的构成 发布的软件版本包含如下目录: Application —— 应用层代码,如音频、视频播放器、电子书、收音机 System —— 系统代码,包括OS,GUI,驱动,媒体库等等 Build —— 编译相关 Doc —— 平台技术文档 Ide ——存放 编译工程目录,包括仿真和板子等。其中,ide\rk27_board 为板子工程,使用 ADS 进行编译和调试, ide\rk27_dll 为仿真工程,使用 VC++6.0 进行编译和调试。 其他目录为测试目录 Lib —— 解码或其他算法库??相关的头文件。 Output —— 编译输出的中间文件和目标文件。 Resource —— 图片、文本、字库等资源相关, 包括生成工具,输入配置文件,输入数据三部分。输入配置文件必须固定为 resource\resource.cfg 文件。输入格式可以参考该文件例子。具体说明参考后续文档 Tools ——工具 Customer ——预留给二次开发商使用的目录 Application 目录为应用软件代码目录,每个应用软件模块应单独建立子文件夹以方便管理,子目录下可以在建立分类目录。目前RK27xx的应用软件文件夹按以下定义,后续开发的模块再添加目录。 Audio —— 音频播放 Video —— 视频播放 Ebook —— 文本阅读 Picture —— 图片播放 Medialib —— 媒体库和资源管理器相关UI代码 FM —— FM收音机和收音录音 DV —— 照相机 Record —— MIC和线路录音 Setup —— 设置菜单 MainMenu —— 主菜单和系统相关菜单 UiUSB —— USB相关应用软件 二、软件系统构架 等等基本应用… Game audio video 代理商应用,UI,代理商游戏等 应用程序管理 (Load/unLoad) NorTask LTask RK OS mHTask HTask File System 仿真和调试系统 RK GUI FAT Os Timer Block IO FTL HAL (硬件抽象层) 硬件驱动层(SDRAM 、LCD、I2C、FLASH、Codec、DMA、USB、GPIO、Serial、SPI、Cache、Interrupt、SD、Keyboard、clock、ADC、Timer、VIP等等) RK27软件系统架构 三、基于RKOS操作系统开发时应注意的问题 1、搞清楚你所写的代码或功能函数将要在哪个或哪几个任务(TASK)中运行。 目前RKOS上运行的任务按照优先级排列主要有TimerTask、PriHighTask、 PriMHighTask、 PriNormalTask 、PriLowTask 等几个,在系统初始化时由操作系统静态创建。每个任务中又可以创建多个线程。RKOS的每个任务拥有独立的堆栈,同一个任务中的多个线程共享堆栈,也就是说线程不具有独立堆栈 所写代码在哪个任务中被调用,即是运行在哪个任务。若一个函数可能被多个任务调用,则该函数应该设计成可重入的函数。 2、函数的可重入性 可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何 时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只 使用局部变量,即变量保存在CPU寄存器中或堆栈中。如果使用全局变量,则要对全局变 予以保护。一般来讲,内部不含有静态全局变量的函数即是可重入的。 3、资源共享、信号量的使用 可以被一个以上任务使用的资源叫做共享资源(包括外设、全局变量、函数等)。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源。这即是互斥(mutual exclusion) 例如一个任务在访问外设(如LCD,FLASH,I2C等)的过程中,被另外一个任务打断,而这个任务也要访问这些外设,这个时候就会产生数据破坏、时序错乱等严重的问题。需要用操作系统的信号量来预防和解决。使用信号量的时候应防止系统任务死锁。 RKOS上使用RockSemObtain和RockSemRelease两个函数同步信号量 4、动态内存的使用 动态内存包

您可能关注的文档

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档