My application behaves differently when booted from the flash than when run from the emulator. What are the reasons this could be happening.
the most likely reason for an application behaving differently from Flash than DXE is the configuration of the external memory. When loading a DXE, the IDDE configures the EBIU based on values in "...\System\Archdef\adsp-[processor]-proc.xml", which contains a <register-reset-definitions> section. If you are using a custom board, you may have edited this file, or used a Custom Board Support file to manage the configuration of these registers.
When running from Flash, the registers adopt default values, which will not match these values. For Blackfin these should be setup by your init code, and for SHARC they should be setup by the boot kernel. Examples are available in the "[processor]\ldr\" directory, though they may need modified for your application.
If that does not appear to be the problem, could you elaborate as to how the application behaves differently from flash than DXE?
The code I am using is an ethernet application which just pump packets to the pc. On the pc I use the "wireshark" software to view the packets. When I run the code using emulator the packets are received perfectly. when the code boots from the flash right from the first packet they are erroneous. I am using 4 tigersharc processors TS201s on my board. I have used the default kernel provided by visual dsp to create the loader file. Hope this helps.
another possibility is that this is related to the BTB/cache. When you run on hardware in the VisualDSP++ environment, cache and the BTB are not enabled. However, the boot kernel does enable the BTB and cache. There is a full description of the algorithm within the source, located at "...\TS\ldr\TS201_PROM\".
Could you try making a backup of the existing PROM project, and DXE file at "...\TS\ldr\", then modify the project to remove the section that enabled BTB and cache, and see if the behaviour matches more closely when your loader file is built using this kernel?
Hello Craig, I tried running the code after disabling the BTB and Cache enabling sections in the kernel, but this does not solve the problem. Any other suggestions?
I think at this stage it would be best that you direct this to private support so we can try to determine exactly why this is behaving differently by looking at your application. Can you please use the link below, and include a link to this thread.
Hi Craig, I did that immediately. I just got a mail saying that this was alloted to an engineer. Thats it. Nothing after that.
Retrieving data ...