ESP-IDF partition table

Sysprogs forums Forums VisualGDB ESP-IDF partition table

This topic contains 8 replies, has 2 voices, and was last updated by  KeithInAsia 1 month, 1 week ago.

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #28260

    KeithInAsia
    Participant

    My app is now larger than 1M.     I must create a custom partition table and use it directly in my idf/VGDB project.

    It would be a great value to have full instructions that combine all the correct information on doing this in VGDB.    Half of this is part of the normal idf process and the other details are unique to how VGDB handles linking to the table.

    Can someone post a full set of instructions on the creation of a mildly customize partition table for a normal idf project built inside VGDB?

     

     

    #28266

    support
    Keymaster

    Please note that we are not able to provide project-specific instructions beyond our documentation and tutorials as, the only way for to do this would be to have an engineer do a detailed review of a specific project. The cost of doing that would very quickly exceed what we charge per VisualGDB license. Hence if we included this with our regular support, we would quickly come to a point where we would have to stop offering any kind of technical support, or raise our product prices more than 10x.

    Instead, we offer technical support for reproducible VisualGDB issues and are happy to offer paid project-specific troubleshooting billed at an hourly rate. We are not able to do it for free, as we receive an overwhelming amount of project-specific inquiries and do not have any spare resources that could be allocated to handling them, sorry.

    #28267

    KeithInAsia
    Participant

    I’m not asking for project-specific help… this is build process help.    This is general tool stuff

    I thought for a moment that the system did not get my last post — but I see you moved it into a previous category — I almost reposted it again thinking that we had a software glitch and the post was not received….

    Now I see that you’re moving my posts around to hide them — presumably to hide them?

    #28271

    KeithInAsia
    Participant

    This thread and post looks normal now… I suspect your forum software system has got some glitches…

     

    #28272

    KeithInAsia
    Participant

    I have looked through all your forum posts here on custom partition tables for apps that exceed 1M — and require custom flash tables.     There aren’t full instructions on this — there are bits and pieces and a fair amount of uncertainty on the exact steps.

    You should already pretty much know this process since your primary expertise is the build tools.

    I’m heavy in circuit design, board layout tools, and C++ — so I have a lot of my plate.        If you can’t afford to spend a few minutes on putting the instructions in a list — I’ll figure out something without you…

    I think this is certainly a strike against you.   I think this is exactly part of what you need to be handling — especially for customers who are deep into the tools and making larger apps.

    #28274

    support
    Keymaster

    Hi,

    We are more than happy to provide detailed on-demand instructions and tutorials, as long as our customers cover the costs of doing that. In fact, many of the BSPs and tutorials for exotic devices and rare setups were created as paid customization projects and the companies using them are extremely happy, since they were able to bypass time-consuming troubleshooting and learning stage, and got directly to solving the their business problems.

    We are simply not able to do it for free, as we receive a huge amount of project-specific inquiries, and a few minutes per inquiry would very quickly add up to a point where would not have any resources left for developing and maintaining our products.

    Our regular product license includes support for issues with VisualGDB itself, because they scale. E.g. once we fixed the incorrect $(ToolchainDir) substitution you previously reported, the problem has been solved for all VisualGDB users. Unfortunately, this doesn’t work for project-specific issues, as there are numerous different setups and frameworks supported by VisualGDB, and detailed instructions for a relatively rare case will not be relevant to most of the users.

    #28276

    KeithInAsia
    Participant

    OK.. so your tool pretty much runs out of gas once project size exceeds a build 1M in size.   Ok.  If that is the limit you propose.

    I will find my own answer without your help.

     

    So we pay our licenses fees for you to fix your bugs?    That is somewhat a strange statement…   I don’t get paid for bug fixes.

     

    These partition table issues have been raised before in your forums about 1/2 dozen times already.  BUT you failed to really answer those questions thoroughly with a full explanation before now…  or I would have not asked to raise the issue again.

    If I have outgrown your tools — I won’t be renewing this year.   I’ll let you know later.

    Thank you…

     

     

     

    #28285

    KeithInAsia
    Participant

    The people as VisualGBD did not feel that this area was important enough to take a few minutes to describe the solution.  It took me a lot longer — but here is the solution:

    SOLUTION:
    This is for Windows Developers. Other platforms will be similar.

    TOOLS: I assume you have all this on your system. Only Git Bash may be missing in some standard build environments. (I use Github and have installed the standard tools.)

    VS2019
    VisualGDB
    Git Bash
    Python V3

    General Steps to Change the Partition Table:

    1) Edit your source csv file to include all your correct partition information
    2) Generate a binary file by using the gen_esp32part.py python tool.
    3) Place the final “partition-table.bin” in the correct build location.

    Specific Instructions:

    1) Create a working directory somewhere in your project source area. Avoid building in your root directory area as these files may be destroyed during various operations.

    2) I strongly suggest cloning all the Github based example files from:

    https://github.com/espressif/esp-idf/tree/master/examples

    Inside you will find all the partition tools and sample partition table cvs files.

    3) Search for gen_esp32part.py That should be located in examples/esp-idf/components/partition_table directory.

    4) Copy that command and sample csv files which are located there to your working directory as needed.

    5) Make a working csv file and name it appropriately descriptive. eg. PartitionSingleApp2M.csv

    6) Right mouse click in that directory and select ‘Git Bash here’ That will open Git Bash and have it pointing already into that directory.

    7) Invoke your Python tool which converts the csv working file to the final partition table bin

    Here is a sample of the instruction:
    python gen_esp32part.py PartitionSingleApp2M.csv partition-table.bin

    (There are many various options in that tool not talked about here)

    8) The final file name appears to be dependant on the VisualGDB build system (I could be wrong on this). Move your newly generated partition-table.bin file into and replace the existing one at:

    <project dirctory> /build/VisualGDB/Debug/partition-table/ <file is here>

    WARNING: I strong suspect that the build directories has been in flux and that the fine people at VisualGDB may be monkeying around with the build directory structure. You may need to search for partition-table.bin in the future.

    NOTE: VisualGDB doesn’t appear to have any reliance to the Partition Table settings inside the ESP-IDF Project properties at this time (this is the place where you edit the sdkconfig file). The better solution for the future would be for you to have chosen your new csv file there and the build system would convert it for you and place the final binary in the correct location automatically.

    NOTE: The startup software in your core build is pretty good about finding errors in the partition table. You will notice a confirmation of your table settings in the normal serial port debug print statements. If you have errors, they will show error message in red following that table print out.

    That should do it.

    #28290

    KeithInAsia
    Participant

    NOTICE:    The previous explanation will work until you rebuild the project.   VisualGDB will rebuild with the original default partition table file.

     

    I asked the VisualGDB people to supply the correct answer — but they refused until I paid money for it.    I already pay for 2 licenses.   At some point, they are going to do the right thing and bring their tool up to speed.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.