Technical discussions related to Analog Devices DSPs (including Blackfin, TigerSHARC, SHARC and ADSP-21xx DSPs).
|
Hi all,
There are 3 questions, 2 of them are similar. 1. I developed a C program that modified from demo program
"fft" and "bp" come from 21061 ezkit evaluation board to do a notch filtering. The executable
file (.21k or .exe) generated from the compiler works fine (downloading it to the board using
the evaluation board monitor kernel that come along the evaluation board on the EPROM).
However, the program does not work (in hex format) after program to EPROM, seem halt after
power up. The 21061 on the board is Rev 0.0, development software is VDSP 4.1, and the boot
loader (060_prom.dxe) come with the VDSP. Below is the memory map and usage:
Name Start Address
End Address Type Qualifier
Width Memory-Words-Used Memory-Words-Unused
seg_rth 0x20000 0x200ff PM RAM 0x30 0x8b (139) 0x75 (117) seg_init 0x20100 0x20194 PM RAM 0x30 0x9 (9) &n bsp; 0x8c (140) seg_pmco 0x20300 0x21fff PM RAM 0x30 0xae5 (2789)   ; 0x121b (4635) seg_pmda 0x23000 0x23fff PM RAM 0x20 0x194 (404) 0xe6c (3692)   ; seg_dmda 0x24000 0x25fff DM RAM 0x20 0x36f (879) 0x1c91 (7313) seg_heap 0x26000 0x26fff DM RAM 0x20 0x0 &n bsp; 0x1000   ; seg_stak 0x27000 0x27e7f DM RAM 0x20 0x0 &n bsp; 0xe80 seg_knld 0x27e80 0x27fff DM RAM 0x20 0x0 &n bsp; 0x180 All instruction and data reside in internal 1Mbit memory.
The hex file can be input to the debugger to simulate (Setting -> Load Sim Loader -> Boot from PROM), the simulation can be done but fail when burn into EPROM. For the demo program "bp", we can burn it into EPROM and it can run standalone. Our program is based on "bp" with addition of calling fft and some calculation. 2. The situation of 21065L is similar to that of 21061. We use
the 21065L evaluation board to develop the similar program. The difference is different codec
(21061 use AD1847 while 21065L use AD1819A), that mean different codec driver. In this system,
we base on the application note "Interfacing the ADSP-21065L SHARC DSP to the AD1819A 'AC-97'
SoundPort Codec" and the driver code for interfacing AD1819 "AD1819 A Variable Sample Rate
Examples\C program shell 65L EZLAB examples\AD1819A C shell ADC Valid-7 word TX DMA-TX ISR".
The chio revision of the 21065L is 0.3, development software is VDSP 4.1, and boot loader
(065l_prom.dxe) is from the the VDSP. The memory map and usage is as following:
Name Start Address
End Address Type Qualifier
Width Memory-Words-Used Memory-Words-Unused
seg_rth 0x8000 0x80ff PM RAM 0x30 0x8b (139) 0x75 (117) seg_init 0x8100 0x810f PM RAM 0x30 0x9 (9) &n bsp; 0x7 (9) &n bsp; seg_pmco 0x8110 0x8bff PM RAM 0x30 0x974 (2420)   ; 0x17c (380) seg_pmda 0x8c00 0x8fff PM RAM 0x30 0xd4 (214) 0x32c (812) seg_dmda 0xc000 0xcfff DM RAM 0x20 0x4af (1199)   ; 0xb51 (2891)   ; seg_heap 0xd000 0xd4ff DM RAM 0x20 0x0 &n bsp; 0x500 seg_stak 0xd500 0xdfff DM RAM 0x20 0x0 &n bsp; 0xb00 EMAFE_addr 0x1000000 0x1000000 DM RAM 0x20 0x0 &n bsp; 0x1 &n bsp; EMAFE_data 0x1000001 0x1000001 DM RAM 0x20 0x0 &n bsp; 0x1 &n bsp; UART_regs 0x1000008 0x100000f DM RAM 0x20 0x0 &n bsp; 0x8 &n bsp; codec_reset 0x1000010 0x1000010 DM RAM 0x20 0x0 &n bsp; 0x1 &n bsp; seg_dm_sdram 0x3000000 0x30ffeff DM RAM 0x20 0x0 &n bsp; 0xfff00 krnl_ext_res 0x30fff00 0x30fffff DM RAM 0x20 0x0 &n bsp; 0x100 Before adding our code into the driver, the driver can burn to EPROM and run as standalone. However, the dxe file works fine for our program but fail when burn into EPROM. 3. For the 21065L evaluation board, although we can download the AD1819 driver program to the board via the monitor kernel, the running is not smooth: input analog signal is pure tone, output is pure tone with some nearly zero value inserted periodically. But this problem does not exist when running the program standalone. Is problem caused by the monitor kernel interrupting with the UART? If so, how can i overcome this for the case the program is running with monitor kernel? I am glad to seeing any comment, solution and suggestion. Thanks for your attention! John |