Programming OpenRISC on Altera De0_nano

Post on 10-Sep-2014

345 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

Transcript

Programming OpenRISC on Altera De0-nano

Yi-Chiao Lin

Path set

1.安裝 quartus:

chmod +x ~/Downloads/altera_installer.external.sh

~/Downloads/altera_installer.external.sh

2.vim .bashrc

3.Add $PATH:

Make (.sof)

git://openrisc.net/stefan/orpsoccd ~/orpsoc/boards/altera/de0_nano/syn/quartus/runmake asm

Make (.sof)

De0_nano USB BLASTER(.rules)

cd /etc/udev/rules.d/gedit 51-usbblaster.rules

killall jtagdsudo /opt/altera/12.1sp1/quartus/bin/jtagd

Programming Hardware

make pgm(quartus_pgm --mode=jtag -o p\;orpsoc.sof)

OpenOCD install

(1)git clone git://repo.or.cz/openocd.git

(2) cd ~/openocd (3) ./bootstrap

(4) ./configure --enable-ftdi --enable-usb_blaster_libftdi --enable-maintainer-mode

(5) make

OpenOCD Troubleshooting

1.error:libusb-1.x

Solution:sudo apt-get install libftdi-dev libusb-1.0-0-dev

OpenOCD Troubleshooting

2.TCL error:

Solution:Remove $PATH : /opt/altera/12.1sp1/quartus/bin

Check Uart pin

cd ~/orpsoc/boards/altera/de0_nano/syn/quartus/tcl

vim UART0_pin_assignments.tcl

Check Uart pin

TX

RX

De0_nano FPGA

OpenOCD Start

cd openocd sudo ./src/openocd -s ./tcl -f ./tcl/interface/altera-usb-blaster.cfg -f ./tcl/board/or1k_generic.cfg

FreeRTOS Path

Project:FreeRTOS_OpenRISC/Demo/OpenRISC_OR1200_GCC

Port layer:FreeRTOS_OpenRISC/Source/portable/GCC/OpenRISC

Port.cPortmacro.hPortasm.SPort_spr_defs.h

FreeRTOS

Select De0_nano Demo\OpenRISC_OR1200_GCC\arch\board.h

FreeRTOS

Check toolchain PATH

FreeRTOS

Make

FreeRTOS(main.c)

Or1ksim

Running for simulator

Programming Software(.or32 or .ihex)

telnet localhost 4444

halt; load_image /<path to yours>/<file>; reg npc 0x100; reset

FreeRTOS

GDB-Debug

cd ~/orpsoc/boards/altera/de0_nano/quartus/runmake pgm (programming hardware)

GDB-Debug

cd openocd sudo ./src/openocd -s ./tcl -f ./tcl/interface/altera-usb-blaster.cfg -f ./tcl/board/or1k_generic.cfg

GDB-Debug

or32-elf-gdb xxx.or32 --eval-command='target remote localhost:3333'

GDB-Debug

load

GDB-Debug

jump *0x100

GDB-Debug

b <symbol> (Breakpoint) br *0xffff (Memory address breakpoint) x/3uh 0xffff (Memory address value) n (Next step) c (Countinue)

top related