STM32‎ > ‎STM32f4discovery‎ > ‎Примеры‎ > ‎Прерывания‎ > ‎

Таблица векторов

Основное назначение таблицы векторов прерываний это направление потока исполнения в случае обработки различных событий. Таблица состоит из слов (4 байта) указателей (векторов). Первым словом идет указатель на дно (начало) стека. Остальные слова указывают на различные вектора.

Для этого изменим таблицу векторов в файле startup.c.

После можно собирать проект:

nis@jane ~/stm32/f4examples/02-ints/00-base $ make
arm-softfloat-linux-gnueabi-gcc -g -O2 -mlittle-endian -mthumb -ffreestanding -nostdlib -nostdinc -mcpu=cortex-m3 -DSTM32F4XX -I. -I../../../../stm32/stlink/example/libs_stm/inc/base -I../../../../stm32/stlink/example/libs_stm/inc/core_support -I../../../../stm32/stlink/example/libs_stm/inc/device_support -Wl,-T,stm32f4xxxg_flash.ld   -c -o startup.o startup.c
arm-softfloat-linux-gnueabi-gcc -g -O2 -mlittle-endian -mthumb -ffreestanding -nostdlib -nostdinc -mcpu=cortex-m3 -DSTM32F4XX -I. -I../../../../stm32/stlink/example/libs_stm/inc/base -I../../../../stm32/stlink/example/libs_stm/inc/core_support -I../../../../stm32/stlink/example/libs_stm/inc/device_support -Wl,-T,stm32f4xxxg_flash.ld -o firmware.elf work.o startup.o -L.
arm-softfloat-linux-gnueabi-objcopy -O binary firmware.elf firmware.bin

Как видно бинарник заметно потяжелел:
nis@jane ~/stm32/f4examples/02-ints/00-base $ ls -l
итого 52
-rwxr-xr-x 1 nis nis   400 июля  22 21:37 firmware.bin
-rwxr-xr-x 1 nis nis 35761 июля  22 21:37 firmware.elf
-rw-r--r-- 1 nis nis  1371 июня  23 16:29 Makefile
-rw-r--r-- 1 nis nis    32 июля  22 21:01 README
-rw-r--r-- 1 nis nis  8564 июля  22 21:28 startup.c
-rw-r--r-- 1 nis nis  3172 июля  22 21:37 startup.o
-rw-r--r-- 1 nis nis  1671 апр.   8 19:09 stm32f4xxxg_flash.ld
-rw-r--r-- 1 nis nis   421 июня  22 11:08 work.c
-rw-r--r-- 1 nis nis   641 июня  23 11:01 work.h
-rw-r--r-- 1 nis nis  2296 июня  23 16:29 work.o

Подстраницы (1): startup.c
Comments