Width of characters generated by gcc lens

I am using objcopy to remove some of the required scripts to insert a resource file (zip file) into flash memory (a built in ARM thing).

I am using objcopy like this:

arm-none-eabi-objcopy.exe -I binary -O elf32-littlearm -B arm --rename-section .data=.rodata input.zip input.zip.o
arm-none-eabi-nm.exe -S -t d input.zip.o
00006301 R _binary_input_zip_end
00006301 A _binary_input_zip_size
00000000 R _binary_input_zip_start

      

I need to know what is the width of the _end and _size characters. I can only guess that _start - this is the address to which can be accessed as an array of bytes: extern uint8_t _binary_input_zip_start[];

. And I am assuming that _end and _size have "native" int sizes, and I believe I can safely assume that I can interpret them as uint32_t.

However, I cannot be sure. I cannot find the "size" related to the objcopy docs: https://sourceware.org/binutils/docs/binutils/objcopy.html

+3


source to share


1 answer


I'm not sure about% 100 if this will work, but try adding the --sort-size option to arm-none-eabi-nm. This should sort the characters by size, comparing them to the next character above. Combined with the -S option, it should print the size. Hopefully this helps you determine their width.

What are you using ARM micro? 32-bit is a good guess, but there are exceptions. If you are using the Texas Instruments part I can help a lot more. I don't have an ARM project that I can test, but it's worth it. If that doesn't work, I'll keep digging.



Source: My knowledge and double check via http://manned.org/arm-none-eabi-nm

0


source







All Articles