RDA5850开发教程_第1页
RDA5850开发教程_第2页
RDA5850开发教程_第3页
RDA5850开发教程_第4页
RDA5850开发教程_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RDA5850/RDA5851 开发手册版本:2.12013-7-1521目录目录更新历史声明代码结构任务列表应用开发模块驱动开发接口Flash驱动LCD驱动项目定义平台定义应用定义13编译环境14第一次运行14编译方法14资源编辑器15项目设置15出厂设置16语音设置17语言选择18图片设置18字符串设置19LED设置20菜单设置21节日设置22模拟器23第一次运行24选择项目25模拟器界面26模拟器菜单27调试工具28工具栏说明28Log窗口说明28内存窗口说明29下载界面如下29调试菜单29工具配置30Trace配己置31音频校准31音量校准31Mp3解码器校准33SBC参数设置34回音

2、消除参数设置34更新历史日期版本描述作者2012-5-261.0新版本发布2012-7-301.1增加部分target配置2012-8-211.2增加gpio按键配置2013-4-92.0增力n led, gdb,trace,calibration2013-7-152.1增加蓝牙调试菜单,增加sbc和回音消除设置方法的说明声明但并不保证本手册没有任何错误或遗漏。我们保留在不预先通知的情况下,对本1.在未经RDA公司事先书面许可的情况下,严禁以任何形式复制、修改本手册中的任何内 容;在编制手册过程中已经力求内容的正确与完整, 本公司将不对本手册可能出现的错误或者疏漏负责; 手册中描述的任何产品进

3、行修改和改进的权利。代码结构系统分为两个部分,应用程序和平台代码。平台代码位于Platform目录,应用程序位于 apps目录。 目录列表目录内容appsap xxx应用程序代码ap gui公用显示程序,比如菜单、进度条等gui显示函数库,显示文字、图片等projects cfg应用项目配置,包括选项、资源等system访问平台软件相关的代码env编译脚本和makefilelib库文件platformchi p芯片定义和rom文件edrv外部设备驱动程序flash prog下载程序Ramru nin clude平台库文件的头文件。Simulator模拟器代码target平台定义文件build编

4、译中间文件hex系统目标文件,每个target会有一个子目录。toolpool编译调试工具。系统入口函数是 BAL_Tasklnit。BAL_TaskInit里面首先调用BAL_Initalise函数进行系统的初始化。然后创建了4个任务。任务列表总共有4个任务中系统中运行:.系统任务,主要处理底层驱动的消息 媒体任务,运行和调度解码模块 蓝牙任务,运行协议栈和 P rofile 应用任务,运行应用程序,处理消息和显示界面。4个任务中除了应用任务都是在平台代码里的。应用开发模块应用程序一般是一个消息处理循环,调用MESSAGE_Wait函数得到消息,根据应用分别处理对应的消息,不处

5、理的消息调用MESSAGE_HandleHotkey函数处理热键。示例代码:INT32 Samp le_E ntry(INT32 param) UINT32 key;UINT8 result=RESULT_MAIN;/重置系统计数器MESSAGEnitial(g_comval);while(1)if(need_draw)/如果需要显示#if APP_SUPP ORT_LCD=1if(AP_Su pp ort_LCD()GUI_ClearScree n(NULL);/ 清全屏幕GUI_Dis playBattaryLever();GUI_ Up dateScree n(NULL);#en dif

6、need_draw = FALSE;key = MESSAGE_Wait(); switch( key )case AP_MSG_RTC:n eed_draw = TRUE; break;/取得系统消息/根据消息执行不同动作。case AP_KEY_MODE|AP_KEY_HOLD:;/break;default:处理热键result = MESSAGE_Ha ndleHotkey(key); / if(result = RESULT_REDRAW) n eed_draw = TRUE;else if(result != 0)return result;驱动开发接口需要用户定制的驱动主要是fl

7、ash和lcd,其他部分的驱动一般不需要改动。驱动的选择在平台的定义文件target.def里面。Flash驱动Flash驱动位于 platformedrvmemd目录下,驱动的接口定义在文件memd_m.h中,主要包括读、写、擦等函数接口。/初始化函数,系统启动后会调用。memd_Flash Open (CONSTP UBLICMEMD_FLASH_LAYOUT_T*MEMD_FLASH_CONFIG_T* cfg);/读函数,一般需不要使用,可以用 memcpy实现P UBLIC MEMD_ERR_T memd_FlashRead(UINT8 *flashAddress, UINT32 b

8、yteSize,UINT32* p ReadByteSize,UINT8* buffer);/写函数,下载程序和保存程序配置时调用P UBLIC MEMD_ERR_T memd_FlashWrite(UINT8 *flashAddress,UINT32 byteSize,UINT32 * p Writte nByteSize,CONST UINT8* buffer);擦函数,调用写函数前会先调用擦函数来擦除要写的扇区。P UBLIC MEMD_ERR_T memd_FlashErase(UINT8 *startFlashAddress,UINT8 *en dFlashAddress);LCD驱

9、动LCD驱动位于Platformedrvlcdd目录下,驱动的接口定义在文件lcdd_m.h中,主要包括打开,更新等接口。/初始化函数,系统启动后会调用。P UBLIC LCDD_ERR_T lcdd_O pen (VOID);/刷屏函数,把 Data指向的buff里的内容显示到屏幕上P UBLIC LCDD_ERR_T lcdd_u pdate_scree n(UINT8* Data, LCDD_ROI_T *rect);8段数码管显示刷屏函数P UBLIC LCDD_ERR_T led8s_u pdate_scree n(UINT16 flag, UINT8* Data);项目定义平台定义

10、target.def文件和两个头文件平台定义在目录target下,每个平台一个目录,包括一个 tgt_board_cfg.h 禾R tgt_app_cfg.h。平台定义包括了芯片的定义和硬件平台的定义,比如驱动的配置、按键的设置等信息。target.def文件中需要修改的部分:#3 # flash 驱动 #S PI Flash (RAM is packaged in side baseba nd chi p)FLSH_MODEL?= flsh_gd25q32TARGET_EX PORT_FLAG += MEMD_NO_ASSERT# Flash model in terface: p aral

11、lel/s pi FLSH_IF?= spi # EBC CLK cfg:_52MHz_/_78MHz_/_104MHz_/_156MHz_ SYS_MEMD_EBC_CLK ?= _78MHz_#SPI FLASHspi CLK cfg:_52MHz_/_78MHz_/_104MHz_/_156MHz_ifeq $(strip $FLSH_IF) spiSYS MEMD FLSH SPI CLK ?= 78MHzendif # ($FLSH_IF,)# Ram is ADMUX or notTARGET_EX PORT_FLAG+= MEMD_RAM_IS_ADMUX# Flash is A

12、DMUX or not#TARGET_EX PORT_FLAG+= MEMD_FLASH_IS_ADMUX# Ram support burst mode or notTARGET_EX PORT_FLAG+= MEMD_RAM_IS_BURST# Flash support burst mode or not#TARGET_EX PORT_FLAG+= MEMD_FLASH_IS_BURST#=: #4 # LCD 驱动 #LCD MODEL?= mzl02#ili9163c st7735r# LCD i nterface: gouda/slcd LCD_IF?= gouda# GOUDA

13、can support serial LCD starti ng from 8808 ifeq $LCD_IF gouda USE_S PI_LCD?= 1+= USE_S PI_LCDTARGET_EX PORT_FLAG en dif# 9 #II II J II II#用户项目定义#项目名CT_P ROJECT := 128_64#是否有资源CT_RESVALID := yesGLOBAL_EX PORT_FLAG += RESOURCE_S UPPORT tgt_a pp_cfg.h 般不需要修改。 tgt board cfg.h可能需要修改的部分:GP10相关的定义#defi ne

14、TGT_G PI O_CONFIG_CFG /红外使用的gpio.gpi o_irc=HAL_G PIO_4,/ led使用的gpioed_count=3,.leds=: /led 列表 .gp old=HAL_G PO_5 ,/* MUSIC */ .gp old=HAL_G PO_3 ,/* FM */ .gp old=HAL_G PO_0 ,/* Bluetooth */ 按键使用的gpio.key_co unt=0, /按键个数.key_ interrup t_mode .high_keydow n / gpio按键列表 .gpi o_keys=TRUE,/是否中断模式,=TRUE,/

15、按键按下时= HAL_G PI0_ NONE否则使用查询模式gpio值为高,/line in 检查 gpio 端口号.gpi o_li nel n/ li ne in gp io 是高有效.li nei nP lugHigh/ t卡检测脚.cardDetectG pio/低有效.gpi oCardDetectHigh/耳机检测脚.earpieceDetectG pio/低有效.ear piecePI ugHigh=HAL_G PIO_ NONE,=TRUE,=HAL_G PIO_7,=FALSE,=HAL_G PI 0_1,=FALSE,/没有设置gpio检测时是否有耳机.ear piece

16、PI ugi n=FALSE,#defi ne TGT_HAL_CONFIG.keyI nM ask.keyOutMask.uartKe yino utSel/以下为用=0x07, /按键使用的keyin位开关=0x07, /按键使用的keyout位开关=key in/keyout 做 gpio的开关.keyi n0Gp ioE n = 0, /* GPI O_20 */.keyout1G pioEn = 0, /* GP IO_17 */.keyout2G pioEn = 0, /* GPI O_11 */.keyout3G pioE n = 0, /* GPI O_7 */.keyout4

17、G pioE n = 0, /* GP IO_8 */,/#defi ne KEY_IKEY_ PO WER,/ power 键的键值,设置为 直接拉高,加电自动开机。./ gpio按键的值,顺序和 gpio按键定义一致 ./第一列按键的值./第二列按键的值./第三列按键的值按键定义MAPKEY_INVALID 可以不用 power键,/按键动作定义#defi ne KEY_CONFIG.rep eat_timeout.rep eat_i nterval.keyma p=1000, /进入长按的延时,单位毫秒=200,/进入长按后循环周期,单位毫秒=g_tgtKeyMa p/红外遥控器定义#d

18、efine IRC CODE MAP_SIZE#defi ne IRC_MAX_STYLE22#defi ne IRC_STYLE_MA P0xbf00, 0x7f80, 0xff00, 0xfd02#defi ne IRC_MA P0x10, OxOa, OxOc, 0x08, /* KEY_10x11,0x1b, 0x18, 0x88, /* KEY_2*/*/#defi ne IRC_CONFIG.gp iold .irc_styles .map _size .timeout.style_list .code_ma p=HAL_G PIO_4,=IRC_MAX_STYLE,=IRC_CO

19、DE_MAP_SIZE,=200,=&g_tgtlRCStyle0,=&g_tgtIRCMa p00/ pmd配置#ifndef TGT_ PM D_CONFIG #defi ne TGT_ PM D_CONFIG/长按开机.hold Po werO n=FALSE,/语音配置,对每种语音配置路径和参数EAR_ PIECE为耳机模式LOUD_S PEAKER 为外放模式 BLUETOOTH为耳机发射模式BT_EP为蓝牙接收,耳机输出模式BT_SP为蓝牙接收,外放输出模式FM是收听收音机的模式LINEIN为插入linein时使用的模式RECEIVER和BLUETOOTH模式暂时没有用到。Code

20、cGallite#defi ne TGT_AUD_CONFIG_EAR_ PIECE_DRIVER #defi ne TGT_AUD_CONFIG_EAR_ PIECE_ PARAM可选值为耳机(AUD_S PK_EAR_ PIECE ) )#define TGT_AUD_CONFIG_EAR_PIECE_OUTPUT PATH AUD_S PK_RECEIVER /语音输出路径,或者外放(AUD_SPK_LOUD_SPEAKER#defi neTGT AUDAUD_S PEAKER_STEREO /.CONFIG_EAR_ PIECE_OUT PUT_TYPE输出类型,立体声或者左、右声道#

21、defi neAUD_MIC_LOUD_S PEAKERTGT_AUD_CONFIG_EAR_ PIECE_ INPUT_P ATH/输入路径xmake脚本中的CT TARGET参数选择编译的平台。应用定义应用定义在目录app sprojects_cfg目录下,每个项目一个目录,包括一个头文件project_config.h 和资源文件。头文件中定义了上层应用的 feature,比如lcd尺寸、是否支持菜单等。#defi ne APP_SUPP ORT_BLUETOOTH1/支持监牙#defi ne APP_SUPP ORT_USB0/ 支持 usb host#defi ne APP_SUPP

22、 ORT_FM1/支持fm#define APP_SUPP ORT_FM_RECORD0/ fm录音#define APP_SUPP ORT_FM_OUT0/ fm输出#define APP_SUPP ORT_LCD1/ lcd单色液晶屏#defi ne APP_SUPP ORT_LED1/ led指示灯#defi ne APP_SUPP ORT_LED8S1/ 8段数码管显示#defi ne APP_SUPP ORT_FLASHDISK0/内置磁盘空间#defi ne APP_SUPP ORT_MENU1/菜单支持#defi ne APP_SUPP ORT_REMOTECONTROL1/遥控

23、器支持#define APP_SUPP ORT_LYRIC1/歌词显示#defi ne APP_SUPP ORT_FADE_INOUT1 /淡进淡出#defi ne APP_SUPP ORT_INDE PEND_VOLUMNE1 /每个模块使用独立音量上面值为 0的选坝日刖还不支持,1的选坝可以改为 0米天闭/语言支持,定义字符串资源时使用#defi ne APP_SUPP ORT_LANG_ENGLISH1 /En glish#defi ne APP_SUPP ORT_LANG_SM_CHINESE1/SM Chi nese/屏幕尺寸#defi ne LCD_WIDTH128#define

24、LCD_HEIGHT64#defi ne AP P_DEFAULT_RESULTRESULT_MAIN /进入系统后首先运行的任务应用项目的选择在平台定义的target.def文件里。编译环境第一次运行解压 ftp 上 Develo pTool 目录下的 Ml PS_Co mp iler.rar 和 cooigdb.rar 到 tool pool 目录。编译方法执行根目录下的 msys.bat打开编译环境,注意会有杀毒软件警告,最好退出杀毒软件, 以方便编译。执行xmake命令进行编译,xmake文件是个脚本,可以用文本编辑软件修改,其中参 数CT_TARGET指定需要编译的项目,其他参数不要

25、修改。xmake platform/edrv 编译驱动模块。xmake可以带路径参数来单独编译某个模块,比如xmake link命令可以单独链接。资源编辑器资源保存在项目名resource目录下,源文件名为resource.csv,可以用文本编辑工具直接编辑,目标文件名为res.b in,用来下载到flash,系统链接时会自动把资bin文件。源目标文件加入到系统bin文件里。资源编辑器打开的时候读取源文件,保存的时候会同时更新源文件和资源编辑器位于 too Ip oolbin目录下,文件名 resedit.exe。运行时先选择配置的项目。Select Resource PackagePleas

26、e Select Resource Package:1g8_MOK项目设置项目全局设置信息,包括feature,显示参数、蓝牙名字、密码等。RD比 BTHost Resource Edit7 gii眉一EJ;I*? Menu17 KfiCDjrd1 fH厂7 Mie cordBT|7 3T ftSDPP BT OFF厂 E7E LCB厂 Encrypt FLaskL Cmter旦ash FiecezLCD Si lidLh:LCDBl g K-ojnlidr tti ilK:AigWiitK:卜和撕mh Widthb1 Crtl hftBflt+ flryI nfX)-114FLog Ina百

27、es CduiA:Di splay Tim (0. 5z) LPBT Kuit;|HP3_ffrBT Fiss/ford;卩Mckersuid Cplr:|oooo j Teit Font Cel at:|WD01troject Cozifzig j Fictcjy Setting | Aucifl I Lanjaje I In age I 讥珀飕Hep Fewtivir | 厂 SiLjipiart F *+ ur tJI出厂设置第一次运行或者用户选择恢复出厂设置时恢复的配置。RDA Mp3ho5t Resource EditProject Coikfic Factory Setting |

28、 udi9 Luigu啣1述q | Strinc | Menu r*stiv-IDf Aldi oType1 DataOwCtiQtGn_UEia_L0W POWERHP3OxODllGnUEia2ALAEHlF3ring, mp3OxOClGTAUI)I0AIJtEd2IIF3pewer an. mp30x0013GnKUI)I0AUEM3ToneS5E50333066&0k0021GTE AUDIO MUSIC JAST.MP3dthiu-市130k0031&tl AUBia FM SEASCMMF3dndu. mp30x0051GJI Mia BT FOW2EON113pwer UL.

29、BpSOieWG/I_A.VDia_BT_P07nEOFFTOCfi5020OkWKHF3ring, mp3Project Confic | Fictory Stttinc| Lux肌述* 1昭 | Strine | 叭nu Ftitivtl |a HP3 Audi 0 TillEritv/SE I厂 Coding Tonedrri1 卜睥 1Sa化1 |_确走resourceaudio 子目录下。选中的mp3文件会被复制到对应项目的语音ID在gui_const.h里面定义。0.1秒时间,0代表没有声音,19代语音类型分为两种,mp3文件和内部编码。 内部编码用一串字符来定义一段语音,每个字符

30、播放 表从低到高的9个频点,大约频率见下表:值声音频率0没有声音1256Hz2384Hz3512Hz4640Hz5768Hz6853Hz71024Hz81280Hz91536Hz语言选择选择语言包,语言包的id和语言菜单的id相对应。 语言包文件位于 too Ip oolbin目录下。RDA Mp3ho5t Resource EditProject Coikfic I F*et&ry Stttinc Lansnage Imtgt | String Mann | Fixtival |ZD LinguageOKODQt GJIJJJJG-EiraJISH OxOOCE GnLAJJGSM CHII

31、IISEFonti . frit5112312. fntSizel.EKE2TD.eKEFont File:ITq Font File ascii, fnt gb23l fnt取消ISaveJ I 确定图片设置选中的图片会被复制到对应项目的resourceimages子目录下。图片ID在gui_const.h里面定义。对于同类别的图片可以做成图片组资源,显示的时候用一个ID,和要显示的索引值就可以了。比如下图中的循环状态,把不同循环的图片,按照程序中变量值rep eat_mode的顺序排列,显示的时候就会很方便:GUI_ResShowlmage(GUI_IMG_MUSICLO OPS, rep

32、 eat_mode, PO SITION_F, 0);定义图片组资源,需要指定图片的高度,以便显示程序截取图片。23RDA Mp3ho5t Resource Edit fe0022Festival |IDNameHe i 或itPath*DkLMJOIG JI IMG UJLiU0LLliSU. bflipOxOOOEGTE IMG MEMUHAIII32MEinJNAlM. 1卩OxOOOCQtl IHi?lDa皿点击Preview可以预览led闪烁效果,如下图:輔 ISava1 确定 IKDA PTHpst Keource EditTrojtct Cpufig I Factory S&tt

33、in讨 Audio Lansu述* | li述* j SUine 口卩Pattern:|LED SLJDEEID.Ok0006-v-Led 0 onLtd 1 offDtaly 0. 5 secondLed 0 QffLed 1 onov Qu Qw Qu OuTineUOOmK);UplledOn二JIled 0Led Index:0InEfrrtDovrrSave菜单设置首先选择要编辑的菜单,选择后菜单项会显示在列表里。每个菜单包括两个图片,一个是没选中时显示的图片,一个是选中时显示的图片。 Query Active选项表示在显示菜单时,通过callback函数取得当前选中的菜单项。每个菜

34、单项需要定义对于的string id,action, result,paramo菜单项定义:项目说明string id用来显示菜单项的字符串idActio n选择菜单后执行的动作Run time Check运行时调用callback查询是否要显示该菜单项In visible不显示该菜单项RawText通过callback取得菜单项显示的文本Action有四个选择:Actio n说明ResultP aramSubMe nu打开子菜单子菜单idResult返回结果RESULT xxx 等值Key模拟按键按键动作,AP_KEY_DOWN、AP KEY PRESS 等键值,AP_KEY_PLAY 、

35、AP KEY VOLADD 等。Message发送消息消息值Project 匚onfic | Factory Stttinc | Luigutg* | Im tg* | StringString1 FAeti cmResultCUT_STR_SE3EHCEM = S-B.g4t105GUISTEEEFEATOHEMeszae105GUI 飞 TlfFQLDEimiMezzage105CUlSTEEEFEATPOLDEMezzage105GUI STE EEFEATALLM电盘吉电105CVI STR RAHLQMM世s呂盘g世105GUI STR IHTEO105F fir amSelect

36、Menu1 GUI MENV mJSIC LQOF工m程gs IB:|CU1_IG_MUSI SLOOPSActiv* Imw:|GVI IHG HEinaOPA创Etylt:|VsrticaldMenu ID zSp Query ActivfString ID.|GUl_STE_EEfExTALLAction:创Result:Far am:SubHenu Keiult KeMehti I Faitivtl Iage厂 Rutiti m 电Check厂 Raw TaitUpDownDelateSav节日设置节日分语言设置,选择语言后,对应的节日显示在列表里。 节日定义说明:StyleMon t

37、hDateWeekDay阳历节日(Solar)阳历月阳历日阴历节日(Lunar)阴历月阴历日按星期定义的节日(Week)阳历月第几周星期几FestivalRDA Mpjho5t Resource Edit匚 onfic I Fictory Stttinc I Luigutgt I Imtg* | String Mann跖娶田腊重中乞誘元春圣讎国戦建建儿青卄盧植妇情元节节节节节节节节节节瑕节节节0节节节节4卫节I Type*3WeekWeekLunarLufi&rLunarLunarLunarLunarLunarSolarSolarSolarSolarSolarSolarSolarSolarSo

38、larSolarSdXuTSolSTSole-1 2 I1 6 5 Ji g 6 T CJ 1 1吃Em9eT&55433el让一Date0 00& g15 T51510128HWeek Day THURSDAY SUHDKT SWATlx*3ri2ndLukcutf*:Gin_UMG_Ll_CHlllSE 3FeilivtlI平安複InsertDeleteSav模拟器Simulator目录下为一 Windows平台,Visual C+环境运行的模拟器。 模拟器构建了一个可以让应用层运行的环境。邑竺空 Me窘h占*厨“ 附 比空空竺仝盘 _I U r b*Er诗ndM*色U9cVui _rnvum Il Lhl.V1drt*_*dr- fkAh *盼 UiruyT Laaq.frMc*d iDLdl Hr b-aUL*jirHtrrn匚僧 |dbJr*Simlitnr.m - I pmri4. ?4A wmJnv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论