Customer is developing a Vybrid application running Linux on the A5 core and MQX on the M4 core.
Can you point me to some documentation or resources that explain how the Vybrid's memory protection unit gets configured? Meaning which parts of a typical Linux kernel and/or Uboot bootloader would be touching it? e.g is there a specific Linux kernel driver, userspace utility, and/or boot script? I'm most interested in figuring out which ranges of system memory addresses are currently reserved for program code of the M4 core. Also which additional regions could potentially be used for that purpose. I've reviewed the System Memory Map in section 3.1 of the Vybrid Reference Manual, and other sections, and it raised many questions.
We'll need to know those things during the entire development effort. But I'm asking today because I've just exceeded the 256 Kb that's currently allowed for the M4's program code. That region at 0x3f000000 is specified by the linker scatter file ram.scf as provided in one of the example apps. And it's used by mqxboot utility also. We need to find more program memory for the M4, and adjust the scatter file to use it. If we do that wrong, I guess the system would crash.
DS-5 includes a graphical Scatter File Editor which should make it easier to create or edit a scatter file. But the editor doesn't like the ram.scf scatter file. It throws a handful of errors and won't load the file. So we might have to create an all-new scatter file to be compatible with that editor. If so, we'll need to understand the situation even better so we can create that.
We'll probably face the same situation again later when we exceed the allocated data memory for the M4's variables. So these questions really apply to both code and data regions.
Eric Cowden
Field Application Engineer
Office: 847-843-6816
Cell: 630-408-4453
Solved! Go to Solution.
Hello Eric,
64Kb of SRAM is allocated by Linux, starting at address 0x3f070000. The code that does this can be found in the post_cpu_init() function, in arch/arm/mach-mvf/cpu.c in your kernel source tree.
Thanks, and let me know if you have any questions.
Timesys Support
Hello Eric,
64Kb of SRAM is allocated by Linux, starting at address 0x3f070000. The code that does this can be found in the post_cpu_init() function, in arch/arm/mach-mvf/cpu.c in your kernel source tree.
Thanks, and let me know if you have any questions.
Timesys Support
ioseph_martinez can you review this case to see if you can provide follow up or let me know if this is required to be attended by Timesys.
karinavalencia we will need to include timesys to help on the Linux part.
Also, probably handing the Security Manual to Eric would be helpful.
EricCowden I will move your question to the public community to get the support from Timesys on this case.
timesyssupport can you help on this case and provide follow up?