⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.html

📁 Embeded bootloader (rrload by ridgerun) for TI linux based platform v5.36
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<pre>$ cd dsplinux/dsc21/rrload$ cat README$ makeThis operation produces three rrload bootloader images.1. rrload     -- This is ELF version of the                 bootloader which can be downloaded                 to the board's SDRAM via a JTAG                 based emulator. Currently this is                 the only way to get the very first                 instance of the rrload bootloader                 installed on the board.2. rrload.rr  -- This is an rrbin format version of                 the rrload bootloader as produced                 by the Makefile using the mkimage                 utility. It only differs from the                 ELF version in format. This rrbin                 format is very close to a raw binary                 format.                 This is used by user performing an                 upgrade of an existing rrload                 installation. Other areas of this                 document discuss the process more                 fully.3. rrload.ForUpGrade.rr -- This is identicle to the                 other two version of the bootloader                 except it is built to load to a                 different SDRAM address.                 This is used by user performing an                 upgrade of an existing rrload                 installation. Other areas of this                 document discuss the process more                 fully.</pre><p><hr WIDTH="100%"><A NAME="upgrading"><h1>Upgrading An Existing rrload Installation</h1></A>This discussion refers to the installation of therrload bootloader program and not the installation of akernel and/or filesystem normally managed by theinstalled bootloader.<p>The Makefile of the rrload project automaticallycreates two rrload rrbin images which are absolutelyidentical to one another except they are built to runat different locations within the memory map. Thisallows both instances of rrload to reside in memorysimultaneously without conflicting with each otherwhich is necessary for performing rrload upgrades. Themain instance is called "rrload.rr" and represents theimage you really want to have loaded on the board; thesecond instance is called "rrload.ForUpGrade". Thepurpose of the "rrload.ForUpGrade" object is to helpprovide the rrload user with the ability to upgrade anexisting rrload installation without the use ofJTAG. The reason this is useful is to allow thefollowing steps to occur for the user who wishes toupgrade an old instance of rrload with a newer version(again, without using JTAG). Assuming the user hasbuilt the new version of rrload and has the current(old) running rrload in command line mode, these stepscould accomplish the upgrade. Please note that in thisexample we are choosing to use ethernet to load thenew image and hence we assume that you have thenecessary bootloader params established to allowthis (see menu option #3).<p><h1>...Upgrading via Ethernet</h1><pre>Step0:  Start a minicom window on the desktop connected  to the targets serial port, then hold down the  Enter key while applying power to the board. Let  go after a second or two when you see the rrload  main menu appear. At the main menu select option  3 and jot down any installation specific settings  that you may want to re-establish later after the  upgrade process.Step1:  At the main menu select option 5 to get into command  line mode, Then...  rrload> set kpath rrload.ForUpGrade.rr  rrload> copy -c kernel -s ether -d ram -f rrbin  rrload> eraseflash params  rrload> boot    Note: We've used the "load kernel" path to sneak    in the second instance of rrload. Then we booted it.    At this point the second instance of rrload should    be running and we'll use it to perform the upgrade.    The ram location previously used for rrload is now    available so we can now download the new version of    rrload to fill that spot. But please note, you will    have to reestablish your desired bootloader params    for this new image just loaded and running. Please    do not store these settings to flash just yet. We    still need to get the final bootloader image into    memory -- the next step.Step2:  At the main menu select option 5 to get into command  line mode, Then...  rrload> set kpath rrload.rr  rrload> copy -c kernel -s ether -d ram -f rrbin  rrload> boot    Note: okay, now we've got the new version in memory    and we are running it. The only thing left to do is    to establish your final bootloader parameter values    (menu item #3 stuff recorded earlier) and then use    the normal rrload commands to flash itself persistently    as well as flash the params persistently.Step3:  At the main menu select option 5 to get into command  line mode, Then...  rrload> eraseflash bootldr  rrload> copy -c bootldr -s ram -d flash -f na  rrload> set bootcmd boot_auto  rrload> set loadfmt rrbin  rrload> set loadport ether          etc, for other desired settings, then...  rrload> copy -c params -s ram -d flash -f na    Note: All done. The rrload bootloader has    been upgraded and is stored persistently with    its new bootloader params settings.NoteA: Although this example assumed rrload command line       mode, it could just as well have been performed       using rrload's menu based UI.NoteB: Although this example performed the image       "loads" via ether, it could just as well have       been performed using one of the other I/O ports.       Below is another example using the serial port.</pre><h1>...Upgrading via Serial</h1><pre>Step0:  Start a minicom window on the desktop connected  to the targets serial port, then hold down the  Enter key while applying power to the board. Let  go after a second or two when you see the rrload  main menu appear. At the main menu select option  3 and jot down any installation specific settings  that you may want to re-establish later after the  upgrade process.Step1:  At the main menu select option 5 to get into command  line mode, Then...  rrload> copy -c kernel -s serial -d ram -f rrbin  Then immediately do the following...  On the host system, enter the following (where ttyS1  is the serial port connected to the EVM):  linux$ cd dsplinux/[platform]/rrload/  linux$ cat rrload.ForUpGrade.rr > /dev/ttyS1  ...when the download completes, proceed with the following:  rrload> eraseflash params  rrload> boot    Note: We've used the "load kernel" path to sneak    in the second instance of rrload. Then we booted it.    At this point the second instance of rrload should    be running and we'll use it to perform the upgrade.    The ram location previously used for rrload is now    available so we can now download the new version of    rrload to fill that spot.Step2:  At the main menu select option 5 to get into command  line mode, Then...  rrload> copy -c kernel -s serial -d ram -f rrbin  Then immediately do the following...  On the host system, enter the following (where ttyS1  is the serial port connected to the EVM):  linux$ cd dsplinux/[platform]/rrload/  linux$ cat rrload.rr > /dev/ttyS1  ...when the download completes, proceed with the following:  rrload> boot    Note: okay, now we've got the new version in memory    and we are running it. The only thing left to do is    to establish your final bootloader parameter values    (menu item #3 stuff recorded earlier) and then use    the normal rrload commands to flash itself persistently    as well as flash the params persistently.Step3:  At the main menu select option 5 to get into command  line mode, Then...  rrload> eraseflash bootldr  rrload> copy -c bootldr -s ram -d flash -f na  rrload> set bootcmd boot_auto  rrload> set loadfmt rrbin  rrload> set loadport ether          etc, for other desired settings, then...  rrload> copy -c params -s ram -d flash -f na    Note: All done. The rrload bootloader has    been upgraded and is stored persistently with    its new bootloader params settings.</pre><p><hr WIDTH="100%"><A NAME="install"><h1>Installing rrload into a New Flash Chip</h1></A>Getting the first instance of the bootloader onto theEVM requires the use of the board's JTAG interfacesince there isn't yet any code running on the board to"pull" in that first instance; JTAG allows you to"push" it there.  Once rrload is loaded, you can usethe rrload UI to request it to store itself in the onboard flash. With rrload present you now have the meansto load other software components such as kernel andfile system through various standard board I/O ports(as opposed to JTAG loading).<p>The issue of upgrading rrload with a new version of rrloadcan be performed without the use of JTAG and is describedin the section "<A HREF="#upgrading">Upgrading An Existing rrload Installation</A>"<p>More info:<p><pre>For C547x:   Standard JTAG:     First install jumpers on JP16, JP17, and JP18.     Then use the emulator to download and run the setup     program (built as part of rrload).      Use the setup_c5471.cmm debugger script to do     this. This will initialize h/w so that SDRAM is     visible. Stop the emulator after a few seconds of     running and then download rrload and run. At this     point you can use the rrload UI to erase and     program the flash.  Parallel JTAG:     First removed jumpers from JP16, JP17, and JP18.     Then consult the gdb documentation supplied with     your DSPLinux distribution and look at the     example session using the sdi-arm-gdb debugger.     This will show how to use that debugger with the     sdserver and the parallel jtag port to install     the bootloader.</pre><p>For omap1510: First use the emulator to download andrun the setup program (built as part of rrload). Youshould use the Lauderbach script called setup_omap1510.cmmto perform this load/run. This will initialize h/w sothat SDRAM is visible.  Now stop the jtag debuggerafter a few seconds of running and then download rrloadand run. At this point you can use the rrload UI toerase and program the flash. If you want now boot fromflash make sure that the SW2-6 switch is in the "off"position.<p>For DSC21/24: First use the emulator to download and run thesetup program (built as part of rrload). This will initializeh/w so that SDRAM is visible. Stop the emulator after a fewseconds of running and then download rrload and run. Do thisfirst with the SRAM/Flash jumper set to the SRAM mode. Toburn flash you will want to hot-jumper from the SRAM modeto the Flash mode. Do this while rrload is running. At thispoint you can use the rrload UI to erase and program theflash.<p>For TI925: First use the emulator to reset the board andthen run until you see the TI monitor message appear onthe minicom window. At this point the h/w has been initializedcorrectly to allow SDRAM to written to. Stop the emulator andthen download rrload and run.<p><hr WIDTH="100%"><A NAME="customize1"><h1>Customizing rrload with new drivers</h1></A>A Makefile links the following tree into a runnablebootloader image called "rrload". The individual *.ofiles have been pre-built at the RidgeRun factory andsupplied in the rrload project directory along with theMakefile and this documentation (index.html).<pre>                  head_*.o                      |                      |                 rrload_base.o                      |                      |     +-----------+----+-----+-----------+     |           |          |           |   sdram.h     io.h      flash.h     ether.h   sdram_*.o   io_*.o    flash_*.o   ether_*.o</pre>The driver modules shown at the bottom of thishierarchy have a *.h file associated with them thatdescribes the interface of each driver. This allows auser to replace a driver with an newimplementation. The new implementation of course needsto provide logic as described by the header file. Theuser need only rename the existing *.o to some othername such as *.o.original, and then place the new *.cor *.S file in the directory, and type "Make". TheMakefile will compile the new driver source file andthen link it as normal forming a new rrload imagecontaining the replacement driver.<p>Here is an example:<p>In this example we'll replace the current sdram_dsc24.ofile with a new version that supports the 4Mx32 MobileSDRAM instead of the SDRAM that typically ships with aDSC24 EVM. For starters, since we're using the DSC24 inour example here, the specific directory structure asshipped from the RidgeRun factory would look like this:<p><pre>                head_dsc24.o

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -