Журнал Эмбеддед-Инженера

Начало работы с ATMEL SAM V71 в CLI

Установка arm-none-eabi-gcc

Ставим по привычке в /opt:

wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
tar xjf gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
sudo mv gcc-arm-none-eabi-4_9-2015q3 /opt

Настроечный файл тулчейна /opt/arm-2015q3.setup:

GCC_ARM=/opt/gcc-arm-none-eabi-4_9-2015q3
export GCC_ARM
PATH="${GCC_ARM}/bin:$PATH"
export PATH

Установка CMSIS-DAP

git clone --depth=1 https://github.com/ataradov/edbg
sudo yum install -y systemd-devel.x86_64
cd edbg
make
sudo cp 90-atmel-edbg.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo cp edbg /usr/sbin

готово:

$ ./edbg --help
CMSIS-DAP SWD programmer v0.5
Usage: ./edbg [options]
Options:
 -h, --help print this help message and exit
 -b, --verbose print verbose messages
 -e, --erase perform a chip erase before programming
 -p, --program program the chip
 -v, --verify verify memory
 -k, --lock lock the chip (set security bit)
 -r, --read read the whole content of the chip flash
 -f, --file <file> binary file to be programmed or verified
 -t, --target <name> specify a target type (use '-t list' for a list of supported target types)
 -l, --list list all available debuggers
 -s, --serial <number> use a debugger with a specified serial number
 -o, --offset <number> offset for the operation
 -z, --size <number> size for the operation

смотрим какие архитектуры поддерживаются:

$ ./edbg -t list
Supported target types:
 atmel_cm0p - Atmel SAM C/D/R series
 atmel_cm3 - Atmel SAM3X/A series
 atmel_cm4 - Atmel SAM G and SAM4 series
 atmel_cm7 - Atmel SAM E7x/S7x/V7x series

втыкаем отладку и смотрим как определяется:

$ ./edbg --list
Attached debuggers:
 ATML2407080200003567 - Atmel Corp. EDBG CMSIS-DAP

читаем прошивку:

$ ./edbg -t atmel_cm7 --verbose --read --file a.bin
Debugger: ATMEL EDBG CMSIS-DAP ATML2407080200003567 03.1F.01AE (S)
Target: SAM V71Q21
Reading................................
................................. done.

Установка примеров

wget http://www.atmel.com/images/asf-standalone-archive-3.32.0.48.zip
wget http://www.atmel.com/images/samv71_softpack_1.5_for_gnu_arm_2015q3.zip
unzip samv71_softpack_1.5_for_gnu_arm_2015q3.zip

Сборка примера с CAN FD

cd examples/Atmel/SAMV71_Xplained_Ultra/examples/mcan/build/gcc
. /opt/arm-2015q3.setup
make

В итоге в директории bin получаем образы для заливки во флеш или в ОЗУ:

$ ll bin/

mcan-flash.bin*
mcan-flash.elf*
mcan-flash.elf.txt
mcan-flash.map
mcan-sram.bin*
mcan-sram.elf*
mcan-sram.elf.txt
mcan-sram.map

Заливаем в SRAM:

$ ./edbg -t atmel_cm7 --verbose --program --verify --file bin/mcan-sram.bin 
Debugger: ATMEL EDBG CMSIS-DAP ATML2407080200003567 03.1F.01AE (S)
Target: SAM V71Q21
Programming........................................... done.
Verification.......................................... done.

.

PS: если заметка помогла Вам, поделитесь ей с друзьями или коллегами: