Changes between Version 129 and Version 130 of GSoC/2015

Jun 4, 2015, 8:09:47 AM (4 years ago)
Jarielle Catbagan



  • GSoC/2015

    v129 v130  
    126126* May 26: The boot process that the AM335x/Beaglebone Black undergoes and the possible sources to boot from has been determined.  The ideal boot sources to transfer and/or execute the initial image is either from a uSD or via UART.  Porting Umon is underway and I am approaching the port with the notion of a top-down approach. That is starting from the entry point where program execution first starts and then traversing the source code while replacing irrelevant and integrating the essential/necessary code.  In the context of the Beaglebone Black, program execution starts at rom_reset.S and then jumps to the C code initialization in start.c.  My current effort is to integrate the initial functionality and mechanisms specific to the AM335x into these startup files and then have it inter-work with the existing Umon implementation.  For my references, I will continue using the ARMv7A Architecture Reference Manual as well as the AM335x Technical Reference Manual, Beaglebone Black System Reference Manual, and the Umon User Manual.
     128* June 2: During the process of converting the initialization file for running Umon from ROM (rom_reset.S) in the csb740 port to the Beaglebone Black, some existing code were reused as the processor in the csb740 port and the AM335x processor share some similarities.  The reused code encompasses the fundamental and required initializations.  These included retaining the stack initialization for each of the processor modes as well as setting the processor to an initial processor mode, which is supervisor mode.  Right now, I am consolidating the necessary information in order to develop the mechanisms to initialize and set up the external DDR3 RAM on the board. This will provide the capability of removing an application's reliance on the limited internal SRAM  Furthermore, the utilization of this external memory will allow larger images to run on the system.  From the information I was able to obtain it is both practical and efficient in initalizing the external memory at a very low-level, and as a result this process will be done in rom_reset.S.  Shortly after, rom_reset.S jumps to the first C-defined function start().  Mostly like the mechanisms to manipulate the external memory will be done in C.
    128130== Sujay Raj ==