On 4/09/2018 6:24 PM, Chris Johns wrote:
On 4/9/18 6:13 pm, Ian Caddy wrote:
I pretty much copied the build tree, from the imx BSP (which is based on an imx7
I think from memory) as the imx6ULL is a Cortex-A7 single core proceessor, using
the ARMv7-A architecture.
Some places have been saying that I need to check whether or not the particular
processor support non-aligned access, but the imx documentation is not that
great and points to the ARM documentation which is more generalised.
I assume your set up is happening here ...
https://git.rtems.org/rtems/tree/bsps/arm/imx/start/bspstarthooks.c#n32
The arm_cp15_start_setup_mmu_and_cache call returns the CPSR on entry and that
is passed to the arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache
call.
If your BSP set up code does not set the A bit in the CPSR it will not be set
when RTEMS runs and newlib needs the A bit set in the CPSR.
Thanks for the information. I did not realise the A bit was modified in
that section of code. The A bit is actually cleared in the SCTLR in
that code.
It turns out that u-boot is setting this A bit, which is cleared on
power up.
The problem for me was that once the domain access control is set, I
lose access to the memory, and without having to get to the bottom of
it, I disabled this function, thinking I would come back to it. Since
the function is called:
setup_mmu_and_cache
I assumed I could get by to start with without mmu or cache enabled. I
probably still can, but I need to leave part of the code in, the bit
that clears the A bit and sets the AFE and Z bits of the control
register to see if I can get past the startup code. Then I will go back
and look at the domain stuff.
Thanks for the help.
regards,
Ian Caddy
_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users