RPi Graphic testing

QIAO YANG yangqiao0505 at me.com
Wed Jul 22 09:19:35 UTC 2015


Hi,

When I updated to the latest firmware start.elf , the graphic doesn’t show anymore. I haven’t yet found out what has been changed in the latest firmware. I’ve uploaded my firmware. I’ve retested my latest commit, it worked with hello, ticker and rbi samples.

https://www.dropbox.com/sh/95bu6skofkmrlvc/AABXjwvvFhQScJdo_rwj12V6a?dl=0 <https://www.dropbox.com/sh/95bu6skofkmrlvc/AABXjwvvFhQScJdo_rwj12V6a?dl=0>



> On Jul 21, 2015, at 1:13 AM, 桥 杨 <yangqiao0505 at me.com> wrote:
> 
> I'll try to retest my latest commit tomorrow with my rpi B and rpi B+.
> 
> I disn't see any errors from the log and I havn't yet any idea why It didn't work. Keep in touch when you do tests. I'm always reachable.
> 
> Thanks for the instructions of memory table. I'll try that tomorrow.
> 
>> 在 2015年7月21日,00:52,Pavel Pisa <pisa at cmp.felk.cvut.cz> 写道:
>> 
>> Hello Qiao Yang,
>> 
>>> On Monday 20 of July 2015 20:50:32 QIAO YANG wrote:
>>> So it has got the right pointer for frame buffer.
>>> 
>>> Please set the macros
>>> 
>>> BCM2835_FBMEM_BASE to 0x1C006000
>>> and BCM2835_FBMEM_SIZE to 0x500000
>>> according to your log.
>> 
>> I have got to testing at home where I have other RPi board
>> and have no luck till. The memory setup is different there so I tried
>> to recompiled for that one. I will rerun test at the university
>> on the previous board again on Wednesday. If you have some
>> enhancements, commit them to your RTEMS git, please.
>> 
>> As for memory map adaptation, RTEMS does not include infrastructure
>> for memory management setup changes at runtime but the before
>> bsp_memory_management_initialize() is called then CPU runs in 1:1
>> mapping where physical and virtual addresses match. The main
>> reason to setup and enable MMU on ARM is that without MMU
>> cache cannot be enabled so execution is slow. Even instruction
>> cache can be enabled without MMU enable on some ARM models.
>> So the system is mostly/completely operational before MMU
>> enable.
>> 
>> arm_cp15_start_mmu_config_table table is declared as const
>> but if it is not marked that way and compiler error is prevented
>> then it can be manipulated before bsp_memory_management_initialize();
>> in bsp_start_hook_1() is called
>> 
>> rtems/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c 
>> bsp_start_hook_1(void)
>> 
>> So it should be possible to parse ATAGs or even access VideoCore
>> before MMU is configured.
>> 
>> The MMU config requires arm_cp15_start_mmu_config_table to be global
>> variable. There is other solution even if problem with
>> const does not allows simple modification of the table
>> (but brute cast in the function adding video region would work either).
>> 
>> It is most probable possible to skip to call 
>> bsp_memory_management_initialize() from the hook
>> and use local variant of that code which would be RPi BSP
>> specific
>> 
>> rtems-yangqiao/c/src/lib/libbsp/arm/shared/mminit.c
>> bsp_memory_management_initialize();
>> 
>> #define ARM_CP15_TEXT_SECTION BSP_START_TEXT_SECTION
>> 
>> #include <bsp/start.h>
>> #include <bsp/arm-cp15-start.h>
>> #include <bsp/linker-symbols.h>
>> #include <bsp/mm.h>
>> 
>> BSP_START_TEXT_SECTION void bsp_memory_management_initialize(void)
>> {
>> uint32_t ctrl = arm_cp15_get_control();
>> 
>> ctrl |= ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_S | ARM_CP15_CTRL_XP;
>> 
>> arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache(
>>   ctrl,
>>   (uint32_t *) bsp_translation_table_base,
>>   ARM_MMU_DEFAULT_CLIENT_DOMAIN,
>>   &arm_cp15_start_mmu_config_table[0],
>>   arm_cp15_start_mmu_config_table_size
>> );
>> }
>> 
>> So it is quite short sequence and even highly dynamic table can be used.
>> 
>> The mechanism to obtain installed/board provided memory size
>> is required even to setup correctly size of memory and heap
>> available for RTEMS system workspace and user application.
>> 
>> So this should be solved (at least in long term horizon) some
>> more generic/autoconfigured way.
>> 
>> Best wishes,
>> 
>>            Pavel
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20150722/9e7e1a44/attachment-0001.html>


More information about the devel mailing list