03-06-2020, 06:24 PM
> There are different stimuli files for either JTAG (stim.txt) or STANDALONE (flash_stim.slm).
stim.txt is a list of commands for the PULP jtag TAP while flash_stim.slm is a memory dump of the executable to be preoloaded during simulation
> As far as i understand there is no way to directly load the flash memory via JTAG because it's not memory mapped, correct?
The flash chip is connected to SPI which in turn is accessible over the UDMA (only afaik).
> - Is the way i described above the correct or rather most efficient way to do this?
It certainly should work like this if you get the layout of the data in the flash right
> Is there a way to load the flash_stim.sml to flash without using the UserPreload feature or converting the format so readmemh can be used?
Do you want to use readmemh on the L2 or on the flash memory? Readmemh and L2 is not supported because its quite annoying to properly split the executable among the memory banks we have, but certainly doable.
> This issue mentions the way to do this would be to write data from JTAG to L2 (like i am doing too) and then to engage the udma to transfer this data to the flash. Unfortunately i'm not sure how you would do this and i couldn't find a documentation or guide on this.
You could have a look at the udma driver in the PULP sdk.
stim.txt is a list of commands for the PULP jtag TAP while flash_stim.slm is a memory dump of the executable to be preoloaded during simulation
> As far as i understand there is no way to directly load the flash memory via JTAG because it's not memory mapped, correct?
The flash chip is connected to SPI which in turn is accessible over the UDMA (only afaik).
> - Is the way i described above the correct or rather most efficient way to do this?
It certainly should work like this if you get the layout of the data in the flash right
> Is there a way to load the flash_stim.sml to flash without using the UserPreload feature or converting the format so readmemh can be used?
Do you want to use readmemh on the L2 or on the flash memory? Readmemh and L2 is not supported because its quite annoying to properly split the executable among the memory banks we have, but certainly doable.
> This issue mentions the way to do this would be to write data from JTAG to L2 (like i am doing too) and then to engage the udma to transfer this data to the flash. Unfortunately i'm not sure how you would do this and i couldn't find a documentation or guide on this.
You could have a look at the udma driver in the PULP sdk.