tests

所属分类:GIS/地图编程
开发工具:C++
文件大小:1060KB
下载次数:242
上传日期:2009-11-04 17:54:32
上 传 者mountain
说明:  DM365的DEMO代码,里面有不少的例子,好东西。
(DM365 SOURCE CODE, there are many example VERY GOOD)

文件列表:
tests\adc\adc.c (4402, 2009-03-19)
tests\adc\adc.h (1892, 2008-11-26)
tests\adc\adc.pjt (869, 2009-03-19)
tests\adc\adc_test.c (1445, 2009-03-19)
tests\adc\build.bat (348, 2008-10-08)
tests\adc\cleanup.bat (97, 2008-10-08)
tests\adc\Debug\adc.map (13916, 2009-03-19)
tests\adc\Debug\adc.out (137004, 2009-03-19)
tests\adc\linker.cmd (707, 2009-03-19)
tests\adc\main.c (1797, 2008-10-08)
tests\aic3101\aic3101.c (1042, 2008-11-07)
tests\aic3101\aic3101.h (653, 2008-11-07)
tests\aic3101\aic3101.pjt (1027, 2008-11-07)
tests\aic3101\aic3101_loop_linein.c (6112, 2008-11-10)
tests\aic3101\aic3101_loop_micin.c (6489, 2008-11-10)
tests\aic3101\aic3101_test.c (1642, 2008-11-07)
tests\aic3101\aic3101_tone_headphone.c (6396, 2008-11-10)
tests\aic3101\aic3101_tone_lineout.c (6050, 2008-11-10)
tests\aic3101\build.bat (352, 2008-11-07)
tests\aic3101\cleanup.bat (172, 2008-11-07)
tests\aic3101\Debug\aic3101.map (14573, 2009-03-19)
tests\aic3101\Debug\aic3101.out (155863, 2009-03-19)
tests\aic3101\evmdm355_mcasp.h (21384, 2008-10-28)
tests\aic3101\evmdm365_mcasp.h (21384, 2008-11-07)
tests\aic3101\linker.cmd (707, 2008-10-08)
tests\aic3101\main.c (1841, 2008-11-07)
tests\buildall.bat (1054, 2009-03-18)
tests\buildall_log.bat (38, 2008-10-08)
tests\buildall_log.txt (53881, 2009-03-18)
tests\cpld_examples\build.bat (355, 2008-11-14)
tests\cpld_examples\cleanup.bat (97, 2008-11-14)
tests\cpld_examples\cpld_examples.c (1777, 2008-12-11)
tests\cpld_examples\cpld_examples.pjt (887, 2008-12-11)
tests\cpld_examples\Debug\cpld_examples.out (101226, 2008-12-11)
tests\cpld_examples\Debug\cpld_power.map (13700, 2008-12-11)
tests\cpld_examples\linker.cmd (707, 2008-11-14)
tests\cpld_examples\main.c (1813, 2008-11-14)
tests\ddr\build.bat (348, 2008-10-08)
tests\ddr\cleanup.bat (97, 2008-10-08)
tests\ddr\ddr.pjt (840, 2009-03-16)
... ...

Last updated: 12/02/2008 This file contains important notes for software developers porting code to the DM365 EVM and using our production test cases. The main repository for our code is: http://support.spectrumdigital.com/boards/evmdm365 Username: evmdm365 Password: earlyaccess GEL Files - The evmdm365.gel file (0.90 and later) is targeted at FIB silicon with a 24MHz crystal. evmdm365-hd.gel is the same as evmdm365.gel but with the PLLs configured for HD video (you need this one to run the two HD video tests. The evmdm365-087-osc.gel file is for non-FIB parts and will eventually be phased out. NAND / OneNAND - SW5-1 is a selector switch that controls whether the NAND is active or not. The OFF position selects NAND, the ON position selects OneNAND. Ethernet - The MII signals pass through an on-board mux (U10) that controls whether the signals go to the Micrel KSZ8001 PHY or not. The mux selector is driven from the CPLD and defaults to the KSZ8001 PHY so you should no have to change it unless you modified the CPLD registers for some other purpose. The control bit is bit 3 of CPLD register #3 (0 = KSZ8001). Video port input path - The VPFE can be fed with data from the TVP5416 (SD video composite or S-Video), LCD or TVP7002 (HD component video). The input is selected through a pair of muxes (U17 and U21). To configure the muxes, set bits 2:0 of CPLD register #3 as follows: Video input = TVP5416, set CPLD3[2:0] to 0x5 Video input = Digital CCD, set CPLD3[2:0] to 0x2 Video input = TVP7002, set CPLD3[2:0] to 0x1 CPLD Registers - The addresses of the CPLD control registers are: (Uint8 *)0x04000000, // Register 0 (Uint8 *)0x04000008, // Register 1 (Uint8 *)0x04000010, // Register 2 (controls the 8 user LEDs, good for test) (Uint8 *)0x04000018, // Register 3 (mux control) (Uint8 *)0x04000400, // Register 4 (Uint8 *)0x04000408, // Register 5 (Uint8 *)0x04000410, // Register 6 (Uint8 *)0x04000418 // Register 7 I2C - You must be aware of a couple of special issues when using the I2C on the DM365 EVM. First, the THS7303/THS7535 parts have a habit of not coming up in a clear reset state. They tend to draw I2C SDA low preventing normal I2C bus operation. The way to clear this is by pinmuxing SCL as GPIO20 and wiggling it up and down 9 times to act like a dummy I2C cycle, then pinmux the pin back to SCL. We do this in our BSL init (lib\bsl\evmdm365.c in EVMDM365_init()) so that it happens in the initialization phase of our test code before anything actually happens. Linux side developers should put this in U-Boot. The second issue with I2C timing is that one of the I2C devices on the board does not like clock back to back I2C cycles regardless of whether it is the device being addressed or not. Our experimental solution is to wait 30 micro- seconds after each I2C transaction, that seems to take care of things. The I2C device should only be run at speeds up to 100KHz, some devices are not fast enough to keep up after that. The THS7353 should be initialized before the TVP7002 as it is in the component video input path before the TVP7002. In our tests, we leave a delay of 50ms between the THS7353 configuration via I2C before initializing the TVP7002 to give it some time to sync to the video stream. MAC Address - The MAC address is stored at offset 0x7F00 in the I2C EEPROM (6 bytes). Software equivalence - The input and output video paths come from a DaVinci HD EVM and should be set up the same way. The input path consists of either a TVP5416 (SD) or TVP7002 through a THS7353 (HD). The output path goes through a THS7303 to the video DACs. For NTSC component video in, the ***S ISIF silicon module handles the Y/C channels differently than DM355 silicon. Set ISIF_CCDCFG to 0x0810 (instead of 0x800) to swap the channels and get equivalent behavior. The EMAC module's interrupt wrapper registers are a little different than on previous devices. Look at the end of the emac_init() function in our test cases for settings to enable EMAC interrupts: /* 17. Enable the device interrupt in EWCTL. */ EMAC_CMEMCONTROL = 0x00000002; // Emulation free EMAC_CMRXINTEN = 0x000000ff; // Enable receive interrupts on channel 0 EMAC_CMTXINTEN = 0x000000ff; // Enable transmit interrupts on channel 0 EMAC_CMRXTHRESHINTEN = 0x000000ff; // Enable receive threshold interrupt enable EMAC_CMMISCINTEN = 0x0000000f; // Enable misc interrupts The DACSEL register description in SPRUFG9 does not match what I saw when I was playing with the registers. Only the 12 lower bits of the register could be set (3 DACs, not 4 as in the description). When XDMODE in the SYSTEM module VDAC_CONFIG register is set to 0, bits 11-8 of DACSEL control what’s coming out on the TVOUT analog channel. When XDMODE is set to 1, bits 11-0 of DACSEL correspond to the COMPY/COMPPB/COMPPR component outputs (the 3 DACs). So bits 11-8 of DACSEL appear to be dual function based on the setting of XDMODE. Resource Map EMIF Async EMIF, Keypad secondary. Verify keypad muxing override in test case McBSP AIC3101 SPI0 SPIROM (AT25***0), Max clock 20MHz, 8Kbytes SPI1 Exp SPI2 Exp SPI3 Exp SPI4 Exp UART0 RS-232 Console UART1 ENET ENET ENET - MII Mode to KS8001L PHY MDIO ENET / Video Port G0/G1 ADC ADC Voice Voice Codec USB Check power from USB_DRVVBUS, verify pin muxing SD0 SD Card 0 SD1 SD Card 1 VDAC Component Out VIDIN TVP5416 (SD) or TVP7002 (HD) Async EMIF Devices NAND MT29F16G08FAAWC:A on CE0n/CE1n OneNAND KFG1G16U2B-DIB6000 on ONENAND_CE I2C Device 0x18 AIC3101 0x25 MSP430 0x2C THS7303 0x2E THS7353 0x50 CAT24C256 0x5D TVP5146 0x5C TVP7002

近期下载者

相关文件


收藏者