全志-芯片编程指南_第1页
全志-芯片编程指南_第2页
全志-芯片编程指南_第3页
全志-芯片编程指南_第4页
全志-芯片编程指南_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

模块配置说 密级

16模块配置说 公开/外部公开 [[

[ [ [ [AllWinnerTechnologyCopyRight©2011AllWinner

12版本历 uart相关配置说 配置项说 打印端口配 配置举 将打印口配置成0 RTC相关配置说 配置项说 Rtc参数配 配置举 音频相关配置说 配置项说 全局配置 iis模块配 SPIDF模块配 配置举 配置iis的 Usb相关配置说 配置项说 usb全局配 usb控制器n的配 配置举 禁用usb功 USB控制器0只做device,并且自动检 USB控制器0只做Host,并且自动检 USB控制器0做OTG,并且自动检 USB控制器0只做device,应用程序加载/卸载驱 USB控制器0只做Host,应用程序加载/卸载驱 USB控制器0做OTG,应用程序加载/卸载驱 IO/BLK类的相关配置说 twi配 spi控制器配 触摸屏TP配 红外ir的配 nand配 SD卡配 配置举 33LCD相关配置说 概 用户可定制文件介 file: file: 函数具体介 驱动接口介 LCD_CPU_WR_INDEX 系统烧写相关配置说 配置项说 配置烧写后的分 配置烧写时文件系统及盘内容 校验文件内容的正确 将文件打包进固件 如何使打包时不加密,时不.........................................................配置举 增加一个盘 烧写时将用户自定义文件也打包进去 对用户盘的镜像文 userdisk.iso进行校 把userdisk.iso及其检验文件打包 ePDKv100.img eGon配置说 44uartworkspace/efex/sys_config.fexuart =uart打印端口,F20uart端口,但打印端口一般设置0口,0口不支持多pin. =txpingpio配置说明。《配置与GPIO管理.doc》 =rxpingpio说明。《配置与GPIO管理.doc Table:Table:uartdebugport0uart_debug_port=0 = =RTCworkspace/efex/sys_config.fexrtc参数:rtc参数:rtcrtc_existxs=rtc_exist0rtc1rtc,为2表示使用外部 Table:RealTimeClock5略

workspace/efex/sys_config.fex =F20后此参数没有启用,所以一般保持默认的xx=1即可。 =这是一个用户自定义的gpio,控制内置codec是否从喇叭输出。具体请参考gpio配GPIO管理.docTable:audioglobaliisiis模块配置参数(gpiogpioGPIOdoc》 =configureiispincalled configureiispincalled =configureiispincalledIIS_DO0_OconfigureiispincalledIIS_DO1_Oconfigureiispincalled configureiispincalledIIS_DO3_O =configureiispincalledconfigureiispincalledTable:IIS3131SPIDF77spdif模块配置参数(gpiogpioGPIO管理.doc》SPDIFI_DO0configureiispincalled

spdifspidf_mclkspdfi_dipiniis ===IIS_DO0=port:PB8<2><default><default><default>IIS_DO1=port:PB9<2><default><default><default>IIS_DO2=port:PB10<2><default><default><default>IIS_DO3=port:PB11<2><default><default><default> =port:PB12<2><default><default><default>注意:pinUsbworkspace/efex/sys_configfexUsbUsbusb =USB使能标志(xx=1or0)1USB0USB禁用此标志对所有USB模块有效。 =表示本方案中USB控制器使用USB控制器的个数。F20USB3xx=。3Table:USBglobal[usbcUsb[usbcUsb0 =USB使能标志(xx=1or0)1USB0USB禁用此标志只对具体的USB控制器模块有效。usb_port_type=USB端口的使用情况。(xx=0/1/2)0:deviceonly 1:hostonly usb_detect_type=USB 1:vbus/id检 USBIDpingpio配置说明。《配置与GPIO管理.doc》usb_det_vbus_gpio=USBDET_VBUSpingpioGPIO管理.docusb_drv_vbus_gpio=USBDRY_VBUSpingpioGPIO管理.doc

。Table:USBcontroller0 usb12,只需要将[usb0]改成[usb1]或[usb2]usb功能USBUSBUSB;;硬件配置USB;; ;usb_global_enable= 88 =

; USB0; = = = ; USB1; = = = ; USB2; =99=== USBUSB0deviceUSB模式:Device硬件需求:不需要Device;;硬件配置USB;; ;usb_global_enable==;;--USB0;==== ;======;;--USB1;;--USB1;;--USB2控制标;==== host,请参考《 USB控制器Host/USB0OTGUSB硬件需求:需要idpin、det_vbuspin、drv_vbuspin。Host、Device自动切换的方案中。 模块配置说 密级; 硬件配置USB;; ;usb_global_enable= =; USB0; = = = ; USB1; = = = USB2USB2=======;;--; ;;--; USB模式:Device硬件需求:不需要Devicedevice; 硬件配置USB;; ;usb_global_enable= =; USB0; = = = usb_det_vbus_gpio=usb_drv_vbus_gpio; USB1; = =usb_detect_type= usb_det_vbus_gpio=usb_drv_vbus_gpio; USB2控制标; = =usb_detect_type= usb_det_vbus_gpio=usb_drv_vbus_gpio

USB0Host,应用程序加载/USB模式:Hostdrv_vbuspinHostHost; 硬件配置USB;; ; = =

; USB0;======; USB1; = = = =; USB2; = === USB0OTG,应用程序加载/;;;;硬件配置USB;--;usb_global_enable= =; USB0;======; USB1;====USBdrv_vbuspin。12 ; USB2;======IO/BLK

workspace/efex/sys_configfextwitwi0twi0 =twi0使能标志(xx=1or0)1,表示使用本路twi,0表示不使用本路twi.twi0_sclpinpiopintwi0_sda twi0_sdapinpiopinTable:twi0configureTwi1twi2twi0012.spi = =spi

配用哪个spi控制器,0x1 表示使用spi0;启0x2配置说 密级配置说 密级0x3spi0spi1;0x4表示使用spi2;0x5spi0spi2;0x6spi1和0x7spi0,spi1spi2Table:spiglobal[spi1_parspi1 [spi1_parspi1 SPI_MOSISPI_MISO =触摸屏TP =红外ir的配置主要配置红外接收pin脚号。片选位图,0x10;0x2表示使用片选1;0x30I8pinspi功能I9pinspi

spi功能口I个

I10pinspiI11pinspi

n10:触摸屏安装正常。

ir piopb4pinnand =NAND_ALE=nand =NAND_ALE=NAND_CLE=NAND_CE1=NAND_CE0=NAND_RD=NAND_RB0=NAND_RB1=NAND_D0=NAND_D1=NAND_D2=NAND_D3=NAND_D4=NAND_D5=NAND_D6=NAND_D7=NAND_WP=NAND_CE2=NAND_CE3=PIOC00nandpinNAND_CE5=NAND_CE5=NAND_CE6=NAND_CE7=SD//sd //sd卡是否//sd //sd卡是否pin//sdused_card_non=//0x10x2表示使用0x3sd0sd1;0x4表示使用sd2;0x5表示使用sd0和sd2;0x6spi1sd2;0x7sd0,sd1sd2[sdcardcr0_parar如果[sdcard_global]0,以下配置=4:4线卡;1:1=pinsdc_d1 pinsdc_d0 pinsdc_clk pinsdc_cmd pinsdc_d3 pinsdc_d2 如果[sdcard_global]中启用了 1/2/3,可根据[sdcard0_para]增加配置主[sdcard1_para]/[sdcard2_para]/[sdcard3_para]IO/BLKLCD lcd0_panel_cfg.c和lcd1_panel_cfg.c,分别对应两个屏幕。它们是与操作系统无关的,即无论用在哪个操作系统上(boot,melis,linux或wince),它们的代码是完全一致的。所有与操作系统相关的操作都由驱动抽象成的接口给用户使用。pinsys_config.fex总共有两个文件,lcd0_panel_cfg.c和lcd1_panel_cfg.c,分别对应两个屏幕。 4个函数。 staticvoidLCD_cfg_panel_info(panel_para_t*{}statics32LCD_open_flow(u32{}statics32LCD_close_flow(u32{}voidLCD_get_panel_funs_0(lcd_panel_fun_t*{fun->cfg_panel_info=LCD_cfg_panel_info;fun->cfg_open_flow=LCD_open_flow;fun->cfg_close_flow=}file:staticvoidLCD_cfg_panel_info(panel_para_t*{}statics32LCD_open_flow(u32{}statics32LCD_close_flow(u32{}voidLCD_get_panel_funs_1(lcd_panel_fun_t*{fun->cfg_panel_info=LCD_cfg_panel_info;fun->cfg_open_flow=LCD_open_flow;fun->cfg_close_flow=}staticvoidLCD_cfg_panel_info(panel_para_t*{memset(info,0,sizeof(info->lcd__freqinfo-

===9;= ===0;//0:HV,1:8080I/F,2:TTLI/F,/*屏的HV模块相关信info- = //0:hvparallel1:hvinfo- = //0:RGB888 = //serialYUVinfo-

= //hsyncplus= //vysncplus/*屏的HV配置信息*///cpu屏幕的配置信

====(2*

//hsyncback//hsynctotal//vsyncback//vysnctotalcycle/*屏的IO配置信info- info-

=0;//0:18bit=1;//0:disable;1:enablergb666dither;2:enablergb656===panel_para_ttypedef{

lcd_if;//0:hv(sync+de);1:8080;2:ttl;3:lvds

start_delay;//notneedtosetfor tcon_index;//notneedtosetfor}statics32LCD_open_flow(u32{LCD_OPEN_FUNC(sel,LCD_power_on,10);//打开LCD供电,并延迟10msLCD_OPEN_FUNC(sel,TCON_open,200);打开LCD控制器,并延迟200msLCD_OPEN_FUNC(sel,LCD_bl_open,0);//打开背光,并延迟0msreturn} LCDpower,延迟10ms后打开200ms0msLCD_OPEN_FUNCselLCD_OPEN_FUNCvoid(u32sel),用户自己定义的函数必须也要 voiddo_something_else(u32{//do}LCD_OPEN_FUNC函数的第三个参数是执行该步骤后需要延迟的时间,时间是毫秒。注意在该函数里每个开屏步骤都要以的格式来描述,即 function,delay_time)。因为该函数只是把每个步骤记录下来,并没有真正执行(驱动会在合适的时间让它们执行),之所以这样设计主要是由于在boot里没有延迟的函数,只能通过启动timerstatics32LCD_open_flow(u32{LCD_OPEN_FUNC(sel,LCD_power_on,10);打开LCD供电,并延迟10msLCD_OPEN_FUNC(sel,TCON_open,200);打开LCD控制器,并延迟200msLCD_OPEN_FUNC(sel,LCD_bl_open,0);//打开背光,并延迟0msreturn}statics32LCD_open_flow(u32{LCD_OPEN_FUNC(sel,LCD_power_on,10);打开LCD供电,并延迟LCD_OPEN_FUNC(sel,LCD_OPEN_FUNC(sel,TCON_open,200);打开LCD控制器,并延迟200msLCD_OPEN_FUNC(sel,LCD_bl_open,0);//打开背光,并延迟0msreturn}LCD_open_flowlcd0_panel_cfg.cLCD_get_panel_funs_lcd1_panel_cfg.c为了让用户在配置屏文件时更加方便,并忽略操作系统的差异,驱动会提供接口的voidLCD_delay_ms(u32ms);voidLCDC_open(u32sel);打开LCD控制器。voidLCDC_close(u32sel);LCD voidLCD_ _enable(u32sel,boolb_en);b_en==0:enable ;b_en==1:disablevoidLCD_BL_EN(u32sel,boolb_en);setBL_ENIO;b_en==0:setBL_ENIOtodisablebacklight;b_en==1:setBL_ENIOtoenablevoidLCD_PWR_EN(u32sel,boolb_en);setPWR_ENIO;b_en==0:setPWR_ENIOtodisablelcdpower;b_en==1:setPWR_ENIOtoenablelcdvoidLCD_cpu_register_irq(u32sel,void(*Lcd_cpuisr_proc)用于cpu屏,cpu屏的中断处理函数,驱动会在每个vblanking中断里调用一下用户注voidLCD_CPU_WR(u32sel,u32index,u32LCD_CPU_WR_INDEXvoidLCD_CPU_WR_INDEX(u32sel,u32LCD_CPU_WR_DATAvoidLCD_CPU_WR_DATA(u32sel,u32voidLCD_CPU_AUTO_FLUSH(u32sel,bools32LCD_IO_request(u32io_index);usedfor2/3-wireI/F,requestio;s32LCD_IO_release(u32io_index);usedfor2/3-wireI/F,releaseios32LCD_IO_set_attr(u32io_index,boolb_output);usedfor2/3-wireI/Fb_output==0:input;s32LCD_IO_read(u32io_index);usedfor2/3-wireI/Fs32LCD_IO_write(u32io_index,u32data);usedfor2/3-wireI/F修改 \eFex\sys_config.fex”文件。在sys_config.fex文件=分区个数:一般num>=2,当num=2时,紧 =class_name = = =64位表示,size_hi位的值,size_lo32 =DISK = = =Table:partitions需要修 文 。(如果平台 \livetouch

livetouch, 成第1个盘 2disc0盘名称disc0/disc1有效 t为其它数t2diskcount,dis0=c,dragon 校验文件内容的正确性;

;rootlocationandcounter imag.bat使用校验工具D:\Winners\eStudio\Softwares\eDragonEx\FileAddSum.exe可生成校验文件, 。(如D:\Winners\eStudio\Softwares\eDragonEx\FileAddSum.exeuserdisk.iso..\eFex\verify1fex) image.cfgFILELIST={-->rootfs ITEM_ROOTFSFAT16,subtype={filename=INPUT_DIR.."eFex\\verify ITEM_ROOTFSFAT16,subtype=}iii.sys_config.fex,指定如何检验。 固件包位置:把某个固件包到指定分区 固件包位置:把某个固件包到指定分区7次; //固件包 位 = // = //;;注:1、 表示第i次固件,download唯一;2、 为分区号,即固件的位;3 固件包名 .最大长度 . 4、 为校验文件名称.可参考 5、 内容不填,表示本次取消 verify_file内容不填,表示不需要校验;;如:要把固件包 在到SYSDATAFS分区里。其配置为; = = = = = =verify_fileVERIFY_000000000(添加此项注:verify_file=VERIFY_000000000,此项不增加则不会对内容进行检验ePDKv100.imgimage.cfgFILELIST 区),二是将用户资源所在盘打包成镜像文件(配置烧写时的文件系统和盘内容),三是将生成的镜像文件加到ePDKv100.img. 模块配置说 密级1“userfs.iso”名字改为“userfs.fex”,这样打包的时候就不会对固件包userfsfex进行加密。注:“*.fex”在打包时被认为是不需要的数据。非“*fex”文件被认为是需要加密的数2、时不。修改sys_config.fex,方法如下,这样对到USERFS分区的数据不会进不会进 = =SYSDATAFS =ROOTFS_000000000verify_file=VERIFY_000000000 = ==USERDISK132Mbyte的用户盘。修改 \eFex\sys_config.fex”文件。在sys_config.fex文件 = =3class_name====class_name==SYSDA= =32768class_name====class_name====class_name==SYSDA= = = \livetouch \livetouch 下2、把“userdisk”修改\livetouch\rootfs.ini”;;;;ame=D:\Winners\ePDK\workspace\su;;文件系统;;rootlocationandcounterdefineroot0=D:\Winners\ePDK\workspace\suame=D:\Winners\ePDK\workspace\su;文件系统;rootlocationandcounterdefineroot0=D:\Winners\ePDK\workspace\suuserdisk.iso \livetouch\image.bat”,生成userdisk.iso的校验文::-------------rootfs.isocallfsbuild.bat::-------------

D:\Winners\eStudio\Softwares\az

温馨提示

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

评论

0/150

提交评论