Sorry for the silly questions. I always thought that the size of the HEX file was the size of the image. Thanks for clarifying.
I have successfully flashed the image on to the board and everything is working fine. Thanks.. On Wednesday, November 12, 2014 2:23:57 PM UTC+5:30, Ytai wrote: > > make-hex-bundle merely zips together multiple hex files, representing the > same code version, built for different platforms. It is the tool I'm using > to build the hex bundles for distribution (on the Downloads page). You > shouldn't typically need to worry about this. > Why are you looking for any additional step after you already have the hex > file? Why are you not simply flashing it on the IOIO at this point? > > On Mon, Nov 10, 2014 at 3:55 AM, RD <[email protected] <javascript:>> > wrote: > >> I have compiled the "device_bootloader" project and merged it with the >> "app_layer_v1". >> While compiling I got this message on the linker scripts as you said: >> "Total program memory used (bytes): 0x143e8 *(82920)* 36%" >> But my resulting HEX file (of merged "device_bootloader" & >> "app_layer_v1") in the IOIO0030\production directory is of 342KB size. >> >> Then I used the script /tools/make-hex-bundle and obtained another HEX >> file, of size 103KB. >> >> Can you please explain me what is the work of *"make-hex-bundle"* script? >> Does this new HEX file (103KB) and the compiled HEX file (342KB) has same >> functionality? >> >> Sorry for the silly questions.. >> >> Thanks.. >> >> >> On Saturday, November 8, 2014 10:40:47 AM UTC+5:30, Ytai wrote: >>> >>> The IOIO-OTG does not normally run *this* bootloader. There's another >>> project in the firmware directory called DeviceBootloader, which is the one >>> you want to merge in. >>> The hex file is just a text file containing the ROM data in a very >>> inefficient format, at least twice as large as the image size. The actual >>> size of the ROM image can be seen in the linker output log when compiling. >>> For debugging, make sure you're connecting to the correct PGD/PGC pair >>> specified in the configuration settings in main.c of the DeviceBootloader, >>> or otherwise change them to match your pins. >>> >>> On Wed Nov 05 2014 at 10:13:05 PM RD <[email protected]> wrote: >>> >>>> Thanks for your reply. >>>> >>>> I want to flash the IOIO-OTG board with a PIC Programmer so that I can >>>> step debug the code, so I need the merged HEX file. And the size of this >>>> merged HEX file after compiling is more than 300KB. >>>> Why is the size of the HEX file irrelevant? What other options do I >>>> have to flash the image? Is there any way to reduce the size? >>>> >>>> >>>> >>>> On Thursday, November 6, 2014 9:53:29 AM UTC+5:30, Ytai wrote: >>>> >>>>> 1. You probably shouldn't care about the (v1) bootloader. You want the >>>>> device bootloader instead for the IOIO-OTG. >>>>> 2. How are you measuring the size of the image? Is it the hex *file* >>>>> size? >>>>> If so, it is irrelevant. >>>>> >>>>> On Wed Nov 05 2014 at 7:36:20 AM RD <[email protected]> wrote: >>>>> >>>> Hi Ytai, >>>>>> >>>>>> I am using MPLAB-X IDE v2.20 and Lite version of C30-3.30b compiler. >>>>>> I have a IOIO OTG board which is having PIC24FJ256GB206 MCU. I have not >>>>>> changed any code as of now. >>>>>> >>>>>> I have compiled the Bootloader for SPRK0020 configuration. Then I >>>>>> have added the Bootloader HEX file in the loadables section of the >>>>>> AppLayerV1 project and built it for IOIO0030. >>>>>> >>>>>> Now I have a "app_layer_v1.production.unified.hex" file which is of >>>>>> size 391KB and want to flash it to the IOIO OTG board using a PICKit and >>>>>> debug the code for my understanding. >>>>>> >>>>>> Individually compiled the "app_layer_v1.production.hex" is 323KB and >>>>>> "bootloader.production.hex" is 89KB. >>>>>> >>>>>> The Program Memory of PIC24FJ256GB206 is only 256KB, so how will I >>>>>> fit this binary on to the chip? >>>>>> >>>>>> Please help! >>>>>> >>>>>> On Friday, December 16, 2011 1:52:58 PM UTC+5:30, Ytai wrote: >>>>>>> >>>>>>> First, a disclaimer: *this is not intended for most users!* This is >>>>>>> only for people that want to change the standard behavior of IOIO and >>>>>>> come >>>>>>> up with custom firmware. >>>>>>> >>>>>>> A few people have asked on this topic lately, thought I'll make it >>>>>>> clearer. >>>>>>> >>>>>>> First, get MPLAB X (Beta 7.12) and C30 compiler (V3.30c). >>>>>>> Open the following projects in MPLAB: >>>>>>> >>>>>>> - All the library projects, under firmware/lib* >>>>>>> - firmware/app_layer_v1 >>>>>>> - firmware/bootloader if you also want to build the bootloader >>>>>>> >>>>>>> MPLAB will complain about not having selected a toolchain. Go to >>>>>>> each project properties on every configuration (sucks, I know...) and >>>>>>> select your C30 V3.30c installation. >>>>>>> At this point, MPLAB generated a set of makefiles that you can use >>>>>>> in command line. >>>>>>> To build everything from command line, run >>>>>>> tools/make-all all >>>>>>> To clean-build, run >>>>>>> tools/make-all clobber all >>>>>>> If you don't care about any of the targets, get rid of them. Simply >>>>>>> edit tools/make-all, it is pretty straightforward. >>>>>>> Note that the makefiles don't have an explicit dependency between >>>>>>> the app and the libraries, so if you change any library you need to >>>>>>> explicitly clean-build the app. If anyone knows how to declare the app >>>>>>> project so that it'll depend on the library let me know please. >>>>>>> >>>>>>> If you want to build from within MPLAB, you have two problems: >>>>>>> >>>>>>> 1. Because MPLAB doesn't know that app depends on the libraries, >>>>>>> you need to manually build the libraries *before* building the >>>>>>> app. All the errors in the style of "ld.exe: cannot find -lconn" >>>>>>> or -lusb or -ladb or -lbtstack are a result of the same thing: the >>>>>>> linker >>>>>>> looks for a libraries that do not exist, because you haven't built >>>>>>> them yet. >>>>>>> 2. The app builds OK (I hope), but then MPLAB tries to load it >>>>>>> and hangs while doing so. It is a bug confirmed by Microchip which >>>>>>> is >>>>>>> supposed to be fixed on the next MPLAB release. Note that this is >>>>>>> specific >>>>>>> to building coff files, so one might think that moving to elf will >>>>>>> fix it. >>>>>>> Alas, there is a different bug in the C30 compiler, which is >>>>>>> specific to >>>>>>> elf, and will prevent the code from compiling [sigh] >>>>>>> >>>>>>> Once everything is built, a few tools worth knowing: >>>>>>> If you built for the application and the bootloader and want to >>>>>>> merge them into a single hex file, tools/merge-hex is your friend. >>>>>>> Example >>>>>>> usage: >>>>>>> tools/merge-hex path/to/bootloader.hex path/to/app.hex > >>>>>>> path/to/merged/output.hex >>>>>>> >>>>>>> If you want to use IOIO Manager to install your app, >>>>>>> tools/make-ioio-bundle is your friend. Example usage: >>>>>>> tools/make-ioio-bundle firmware/app_layer_v1/dist >>>>>>> MyOutputBundle.ioioapp IOIO0022 IOIO0023 >>>>>>> will build app_layer_v1 (the standard app) for platforms IOIO0022 >>>>>>> and IOIO0023 (which are V1.5 and V1.6 boards, running Bootloader V3.x) >>>>>>> and >>>>>>> package them in a file called MyOutputBundle.ioioapp >>>>>>> You can do the exact same with bootloader images, simply name the >>>>>>> output file .ioioimg >>>>>>> >>>>>>> Note that you'll have to build the hex2ioio tool before anything >>>>>>> works, by running: >>>>>>> make -C tools/hex2ioio >>>>>>> >>>>>>> To those of you using Windows, get Cygwin and install make and gcc >>>>>>> (and a bunch of other stuff to make you regret that you haven't been >>>>>>> using >>>>>>> Linux in the first place :D ). >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "ioio-users" group. >>>>>> >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>>> an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>> >>>>> >>>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "ioio-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/ioio-users. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "ioio-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at http://groups.google.com/group/ioio-users. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/d/optout.
