Flashing PXA27M bootloader

From Phobos Wiki
Jump to: navigation, search

System set up

Linux kernel

You need to enable usbfs in your kernel.
Enable CONFIG_USB_DEVICEFS option in kernel options

Ubuntu 10.x


Ubuntu 11.x

Customize kernel for 11.x

# Download kernel source
sudo apt-get install linux-source-3.0.0
cd ~
mkdir kernel-usb-fs
cd kernel-usb-fs
tar xjf /usr/src/linux-source-3.0.0.tar.bz2
cd linux-source-3.0.0/
make xconfig

# after making changes to kernel it's time to compile
make-kpkg clean
fakeroot make-kpkg -j6 --initrd --revision=1.0 kernel_image

# install new kernel, edit filename to what was generated
sudo dpkg -i ../linux-image-

Install OpenOCD

  • Copy libftd2xx.so to your /usr/lib folder
  • Create symlinks for the libftd2xx by using the following commands:
sudo cp libftd2xx.so.0.4.13 /usr/lib/
cd /usr/lib
ln -s libftd2xx.so.0.4.13 libftd2xx.so.0.4
ln -s libftd2xx.so.0.4 libftd2xx.so.0
ln -s libftd2xx.so.0 libftd2xx.so
  • tar xzfv Openocd_1.0.1383_i386.tar.gz
  • sudo dpkg -i openocd_1.0.1383_i386.deb
    • When trying to install this on a 64bit system you need to --force-architecture or you'll get an error.
      • sudo dpkg --force-architecture -i openocd_1.0.1383_i386.deb

Using OpenOCD

  1. Power up target board and connect JTAG
  2. Start the first terminal and write
    • openocd -f vpac270.cfg
      • Error: unable to open ftdi device: 18
        • OpenOCD needs usbfs
        • sudo mount -t usbfs none /proc/bus/usb
      • Error: unable to open ftdi device: 2
        • You need root privileges
        • log in as root or
        • sudo openocd -f vpac270.cfg
  3. Start second terminal, use telnet to connect to OpenOCD daemon.
    1. telnet localhost 4444
      • you can stack the next commands
        • reset halt; load_image /tftpboot/u-boot_noboot.bin 0x5c010000; resume 0x5c010000
    2. reset halt
    3. load_image /tftpboot/u-boot_noboot.bin 0x5c010000
    4. resume 0x5c010000
  4. Start third terminal
    • minicom
      • Use settings 38400 8N1
    • set ipaddr;set serverip;erase 1:0-2;tftp Telem-GW6/x-load.bin;cp.b a1000000 0 400;tftp Telem-GW6/u-boot.bin;cp.b a1000000 800 $(filesize);reset

Reference material