Hello
I essentially want to tune my SHARC hardware using a USB/RS232 connection from the host but I want to store the binary AWB files in an onboard SPI flash device which the SHARC reads to configure Audioweaver. Do I need to enable SPI_TUNING in the build since I use an FT245 device and am not doing the tuning over an SPI interface ?
regards
david
11:20am
Hello David,
Are you using ADSP-21489 EzKit BSP as reference for your HW? Please note that the ADSP-21489 EzKit BSP has flexibility to tune from host with RS-232 or SPI tuning interface with macro SPI_TUNING. If the macro SPI_TUNING is defined (for SPI tuning from Host) then Serial SPI Flash is enabled for AWE Flash File System. Otherwise (for RS-232 tuning from Host) Parallel Port Flash is enabled for AWE Flash File System. So pick the Flash File System driver for your requirement from the BSP (with the one SPI_TUNING is enabled). Hope this helps.
BR,
MM
12:32pm
Hello MM,
I am also looking into the same situation as dspdude. I have the BSP for the 489 and has been studying how to mix the RS232 tuning and the SPI flash. Part of the reason because this is a closer model to my target. The SPI_TUNING macro applies when you have that spi aadvark device and it so happen that the example coupled the spi flash to the spi tuning which it appears to me to be on different spi ports namely the spi flash will be on spi port 0/A and the tuning into the spi port B. The RS232 example works with the parallel flash as you have mentioned. So in paper, we can force the flash API to use the spi serial flash and keep the RS232 tuning and on the build take out the mw parallel file and place in the m25p16 file. So I tried this combination, the tuning still works but when I tried the flash saving and or format flash, it failed . It will appear to format but when I added an awb file, it says that he file system is full. Using some other software I determined that the flash space that it was supposed to be written over remained blank. So I am leaning that there is some problem in the spi serial driver. Is it possible if you could kindly check this ? I used AWE 6.18.01 RC 2. Btw, the RS232 with the parallel flash works ok.
Thank you
Emilson Enrique
5:01pm
Hey Emilson,
We don't have any examples available that use RS232 tuning and SPI flash file system, so we can't test this configuration at the moment.
To debug the issue with the SPI serial driver, try erasing some of the flash memory, writing a pattern of bytes to that erased section, and see if you can read it back. Once you can do this, the flash file system should work.
You may also have luck using VisualDSP with the SPI driver, and erasing or inspecting memory using that tool.
-Axel
6:14am
Hi Axel,
Thanks for the response. After working at it some more, I was able to combine the RS232 and SPI flash example. I just had to separate the SPI tuning # defines and route all the flash calls within platform.c to vector to the spi flash calls instead of the parallel flash. It is doable. Thank you.
EE
10:03am
HI,
This is regarding Target files interpretation ( interface.h) files
We generated target files and below are the clarification we need.
1. Why the first offset starts from 8. Is that a rule and first offset always will be set to 8.
2. Is the offset always increased by 1. Is there any dependency on datatype of parameter
3. What does #define xxx_SIZE -1 means ?
Can you help us in understanding this.
- Srini
10:20am
1) The first offset starts at 8 because the parameters follow an Instance structure member which is 8 bytes long. The first parameter will always be at offset 8 unless the structure changes in a future version of AWECore.
2) All parameters are 32-bit words unless compiled for a 64-bit target. A parameter can be a value or a pointer to a list of values (array).
3) In AWECore-6 it was necessary to distinguish if a parameter was an array or not. For arrays of size greater than 1 xxx_SIZE tells you how many elements. However if xxx_SIZE was 1 there was no way to tell if the parameter was a value or an array of size 1. So for non-array parameters we set xxx_SIZE to -1. If xxx_SIZE == -1 it is a value parameter. If xxx_SIZE ==1 it is an array of length 1.