Top Banner
Programming OpenRISC on Altera De0-nano Yi-Chiao Lin
27

Programming OpenRISC on Altera De0_nano

Sep 10, 2014

Download

Software

Yi-Chiao

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programming OpenRISC on Altera De0_nano

Programming OpenRISC on Altera De0-nano

Yi-Chiao Lin

Page 2: Programming OpenRISC on Altera De0_nano

Path set

1.安裝 quartus:

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

~/Downloads/altera_installer.external.sh

2.vim .bashrc

3.Add $PATH:

Page 3: Programming OpenRISC on Altera De0_nano

Make (.sof)

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

Page 4: Programming OpenRISC on Altera De0_nano

Make (.sof)

Page 5: Programming OpenRISC on Altera De0_nano

De0_nano USB BLASTER(.rules)

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

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

Page 6: Programming OpenRISC on Altera De0_nano

Programming Hardware

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

Page 7: Programming OpenRISC on Altera De0_nano

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

Page 8: Programming OpenRISC on Altera De0_nano

OpenOCD Troubleshooting

1.error:libusb-1.x

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

Page 9: Programming OpenRISC on Altera De0_nano

OpenOCD Troubleshooting

2.TCL error:

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

Page 10: Programming OpenRISC on Altera De0_nano

Check Uart pin

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

vim UART0_pin_assignments.tcl

Page 11: Programming OpenRISC on Altera De0_nano

Check Uart pin

TX

RX

Page 12: Programming OpenRISC on Altera De0_nano

De0_nano FPGA

Page 13: Programming OpenRISC on Altera De0_nano

OpenOCD Start

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

Page 14: Programming OpenRISC on Altera De0_nano

FreeRTOS Path

Project:FreeRTOS_OpenRISC/Demo/OpenRISC_OR1200_GCC

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

Port.cPortmacro.hPortasm.SPort_spr_defs.h

Page 15: Programming OpenRISC on Altera De0_nano

FreeRTOS

Select De0_nano Demo\OpenRISC_OR1200_GCC\arch\board.h

Page 16: Programming OpenRISC on Altera De0_nano

FreeRTOS

Check toolchain PATH

Page 17: Programming OpenRISC on Altera De0_nano

FreeRTOS

Make

Page 18: Programming OpenRISC on Altera De0_nano

FreeRTOS(main.c)

Page 19: Programming OpenRISC on Altera De0_nano

Or1ksim

Running for simulator

Page 20: Programming OpenRISC on Altera De0_nano

Programming Software(.or32 or .ihex)

telnet localhost 4444

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

Page 21: Programming OpenRISC on Altera De0_nano

FreeRTOS

Page 22: Programming OpenRISC on Altera De0_nano

GDB-Debug

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

Page 23: Programming OpenRISC on Altera De0_nano

GDB-Debug

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

Page 24: Programming OpenRISC on Altera De0_nano

GDB-Debug

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

Page 25: Programming OpenRISC on Altera De0_nano

GDB-Debug

load

Page 26: Programming OpenRISC on Altera De0_nano

GDB-Debug

jump *0x100

Page 27: Programming OpenRISC on Altera De0_nano

GDB-Debug

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