Hello,
I had opened a ticked under the following link:
http://e2e.ti.com/support/embedded/bios/f/355/t/158999.aspx
Alan stated to file a ticket for AISgen, detailed information can be found under that link.
It seems that AISgen is putting xdc.meta data into the target image.
What needs to be done to avoid this?
Thanks,Frank
Only loadable sections (that is sections that contain code or data that should exist in the target memory map) should be output by the AISGen tool. Can you share the object file and map file? Then we should be able to test it out with the latest version of the tool and see what we get.
Regards, Daniel
----------------------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.----------------------------------------------------------------------------------------------------------
Daniel,
I tried to upload (via Insert file) the files, but alway got "File Type Not Valid".Let me know how to share these files.
Best option is to create a zip file (standard zip compression with a .zip extension). That should let it upload.
the uploaded TI.zip contains 4 files:
ARM9_OMAPL138.out and ARM9_OMAPL138.map, these were extracted from my workspace.I snipped off a lot of code, so that files are not so big, meta data are still in the generated h file.My configuration still contain the following 3 lines:Program.sectMap["xdc.meta"] = new Program.SectionSpec();Program.sectMap["xdc.meta"].loadSegment = "META";Program.sectMap["xdc.meta"].type = "COPY";
OMAP-L138_AISgen_meta_data.cfg, this one I'm loading into "AISgen for D800K008 Bootloader Version 1.9" to generate the h file.AISgen was donloaded from the following link:http://www.ti.com/dsp/docs/litabsmultiplefilelist.tsp?sectionId=3&tabId=409&literatureNumber=sprab41d&docCategoryId=1&familyId=1621
arm_with_config_for_meta.h is the h file generated via AISgen.
Have a look at line 1479 you'll see the section load command followed by the address for the meta data (0xC0002100).
Some observations:The Size is 0x00000114 (line 1481 in the h file, whereas the map file shows a length of 00000112 (line 119 in the map file).Any ideas why?If it would be zero padding then I expect that zeros are filled at the section end. But it isn't so.
1731.TI.zip
were you able to test it with your latest version of the tool and what is the result?
Thanks,
Frank
Frank,
I was able to dig into this and determined that there was indeed a bug in handling ELF files. When a object file section did not fall into an actual ELF program segment we were not correctly marking that section as not loadable. I've fixed the code and checked it against the .out file you provided. When we make a new release based on that code, I'll post here.
Now that I think about (re-reading the original thread that you posted in), can you provide a copy of the .out without the xdc.meta section moved to a non-overlapping memory region. When overlapping, the fix I did probably won't work, so I'll need to check that. If it doesn't work, I'll need to figure out how those COPY sections are marked and handle that accordingly.
the uploaded TI_without_config_for_meta.zip contains 3 files:
ARM9_OMAPL138.out and ARM9_OMAPL138.map, these were extracted from my workspace.The only difference to my previous upload is, that I removed the following 3 lines out of the configuration:Program.sectMap["xdc.meta"] = new Program.SectionSpec();Program.sectMap["xdc.meta"].loadSegment = "META";Program.sectMap["xdc.meta"].type = "COPY";
Whole memory "META" is now unused.
arm_without_config_for_meta.h is the h file generated via AISgen.No change to the OMAP-L138_AISgen_meta_data.cfg from my last upload (TI.zip).
Have a look at line 1492 you'll see the section load command followed by the address for the meta data (0xC0006300), size is still 0x00000114 bytes.
You stated, that the bug is "in handling ELF files".Does this mean AISgen is working proper for COFF files?
2158.TI_without_config_for_meta.zip
what do you think how long it will last until a new version of AISgen is officially relesed?
any news from your side?
A new release is available here. Based on the test files you provided, I believe this should fix the problem with parsing XDC-based ELF files.
your link is pointing to Flash and Boot utilities ( OMAP-L138_FlashAndBootUtils_2_40.tar.gz) which we are NOT using.
As I already mentioned earlier in this thread, we are using AISgen and it was donloaded from the following link:http://www.ti.com/dsp/docs/litabsmultiplefilelist.tsp?sectionId=3&tabId=409&literatureNumber=sprab41d&docCategoryId=1&familyId=1621
Just checked the link, but there are still the old versions.Is there also a fix for AISgen available?
Ah, sorry for the confusion. I'll try attaching a version here. It takes somewhat longer to get things posted on the documentation site.
Let me know if this doesn't work (if you can't get the file from this post).
it is working.
I applied your new AISgen_d800k008 on both out files which I uploaded on this thread.The section load and the corresponding validate CRC AIS commands were no longer contained in the generated h files.
One final question:Is my understanding correct that your fix is only needed for ELF files, i.e. for COFF files the previous AISgen is already OK?
FrankIs my understanding correct that your fix is only needed for ELF files, i.e. for COFF files the previous AISgen is already OK?
Yes, this is this our belief. We haven't made any changes to the COFF parsing code and are not aware of any reported bugs for COFF file handling.