U-Boot CS-423 Dick Steflik U-Boot • Actual Name: Das U-Boot • Universal Bootstrap Loader • Used on PPC, ARM, AVR32, MIPS, x86, 68K, Nios and MicroBlaze architectures • GNU General Public License Source Code • http://git.denx.de NGW100 • Connect NGW100 to Host PC with serial cable • In Hyperterminal create a profile called ngw100 (115000,8,1,1,0), start connection • Plug-in power to ngw100 to start boot-up • To access U-Boot interrupt the boot-up process by hitting any key within the first 2 sec of the boot-up process • Commandline interface w/help U-Boot Commands • Information Commands – – – – – bdinfo – list board information on console coninfo – list console information flinfo – list flash memory information iminfor – list application image information help – lists commands , for help on specific command type help command U-Boot Commands • Memory Commands – – – – – base – print or set base address crc32 – calculate the crc32 checksum over an address range cmp – compare two memory ranges (cmp staddr1 staddr2 size (hex)) cp – copy memory ( cp source targer size (hex)) md – display memory ( md (.b,.w,.l) addr size (hex)) • .b-byte , .w-word, .l-long – – – – – mm – modify memory (mm (.b,.w,.l) addr (hex)) will prompt for new value mtest – simple memory test (mtest start end pattern (hex)) mw – memory write (mw [.b, .w, .l] address value [count] (hex)) nm – memory modify (nm [.b, .w, .l] address (hex)) loop – infinite loop on address range (loop [.b, .w, .l] address number_of_objects (hex)) U-Boot Commands • Flash Memory Commands – – – – – cp – copy memory (cp [.b, .w, .l] source target count (hex)) flinfo – print Flash memory information erase – erase flash memory (see help for options) protect – enable or disable flash protection mtdparts – define a Linux compatible Memory Technology Device (MTD) partition scheme (see manual for more info on this command) U-Boot Commands • Execution Control Commands – autoscr - run script from memory – bootm - boot application image from memory – go - start application at address 'addr‘ • Download Commands – – – – – – bootp - boot image via network using BOOTP/TFTP protocol dhcp - invoke DHCP client to obtain IP/boot params loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line rarpboot- boot image via network using RARP/TFTP protocol tftpboot- boot image via network using TFTP protocol U-Boot Commands • Environment Variables Commands – these are environment variables that are used during boot up of the application image, uBoot loads the environment variables form persistent storage (flash) as part of the boot strap. To remove a variable set it’s value to null. To create a new one set the name to a value (this will go away when the system is rebooted, to make it permanent do a saveenv before the boot or power down) – – – – – printenv- print environment variables saveenv - save environment variables to persistent storage setenv - set environment variables (set name value ) run - run commands in an environment variable bootd - boot default, i.e., run 'bootcmd'