Установка arm-none-eabi-gcc
Ставим по привычке в /opt:
1 2 3 | 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:
1 2 3 4 | GCC_ARM=/opt/gcc-arm-none-eabi-4_9-2015q3 export GCC_ARM PATH="${GCC_ARM}/bin:$PATH" export PATH |
Установка CMSIS-DAP
1 2 3 4 5 6 7 | 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 |
готово:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $ ./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 |
смотрим какие архитектуры поддерживаются:
1 2 3 4 5 6 | $ ./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 |
втыкаем отладку и смотрим как определяется:
1 2 3 | $ ./edbg --list Attached debuggers: ATML2407080200003567 - Atmel Corp. EDBG CMSIS-DAP |
читаем прошивку:
1 2 3 4 5 | $ ./edbg -t atmel_cm7 --verbose --read --file a.bin Debugger: ATMEL EDBG CMSIS-DAP ATML2407080200003567 03.1F.01AE (S) Target: SAM V71Q21 Reading................................ ................................. done. |
Установка примеров
1 2 3 | 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
1 2 3 | cd examples/Atmel/SAMV71_Xplained_Ultra/examples/mcan/build/gcc . /opt/arm-2015q3.setup make |
В итоге в директории bin получаем образы для заливки во флеш или в ОЗУ:
1 2 3 4 5 6 7 8 9 10 | $ 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:
1 2 3 4 5 | $ ./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. |
.