Hello,
I have a custom bord with the following hardware configuration:
Even though my uC does not have internal memory, and have specific hyperbus interface to operate the memory, I have a flash loader .FLM file that can write, read and erase the data for that memory.
I could achieve the above by executing J-Link Commander commands in a python's process, but since there is already pylink library that does that (github.com/square/pylink), I thought that I could just reuse it for my purposes.
If possible, I would like to understand the following topics:
1. It turned out that pylink works somewhat differently that J-Link Commander. One example is the erase functionality, I can erase by sectors using J-Link Commander, but I can't do the same using pylink that uses Jlink DLL API. I thought both tools use the same DLL underneath (Jlink DLL API does not list Erase sector functionality, it only allows for Erase Chip functionality). For my purpose it's essential to be able to erase by sectors as my memory has 64MB of space and only a tiny portion of it is used, so it's much quicker to erase selective sectors instead of whole chip memory. Even if we do not consider python, but only functions available in from Jlink DLL, then I do not see this possibility I mentioned before.
Could you explain to me the difference here?
2. Is it possible to perform memory erase by range of addresses using functions from DLL? If so, I could then implement that on the python side.
I have a custom bord with the following hardware configuration:
- microcontroller: NXP IMXRT1176
- external memory: Infineon Hyperflash S26HL512T with Hyperbus configuration
Even though my uC does not have internal memory, and have specific hyperbus interface to operate the memory, I have a flash loader .FLM file that can write, read and erase the data for that memory.
I could achieve the above by executing J-Link Commander commands in a python's process, but since there is already pylink library that does that (github.com/square/pylink), I thought that I could just reuse it for my purposes.
If possible, I would like to understand the following topics:
1. It turned out that pylink works somewhat differently that J-Link Commander. One example is the erase functionality, I can erase by sectors using J-Link Commander, but I can't do the same using pylink that uses Jlink DLL API. I thought both tools use the same DLL underneath (Jlink DLL API does not list Erase sector functionality, it only allows for Erase Chip functionality). For my purpose it's essential to be able to erase by sectors as my memory has 64MB of space and only a tiny portion of it is used, so it's much quicker to erase selective sectors instead of whole chip memory. Even if we do not consider python, but only functions available in from Jlink DLL, then I do not see this possibility I mentioned before.
Could you explain to me the difference here?
2. Is it possible to perform memory erase by range of addresses using functions from DLL? If so, I could then implement that on the python side.