Jump to content
    

Выбор камня.

Несколько раз на форуме поднималась тема, но так до конца и не раскрыта. Откуда в коде взять идентификацию камня под которую компилируется проект?

Из того, что выяснил оболочка при выборе камня добавляет в параметры компиляции ключ --cpu= processor (к примеру --cpu=m328pb).

Откуда можно узнать перечень допустимых  значений "processor" ?

Далее каким-то образом это само "processor" преобразуется для программы в препроцессорный символ __device__ (к примеру __ATmega328PB__)

Откуда можно узнать правила как из processor получается  device ?

Ну и вишенка на торте, символы __device__ это собственные фантазии IAR или эти-же символы поддерживаю GCC и Keil ?

 

 

Share this post


Link to post
Share on other sites

В Keil не так, нет никакого __device__.

--cpu= там задает семейство ядер или архитектуру.

Ну а когда в среде (я опять же про Keil) выбирается конкретный МК, например, STM32F407, в управляющую строку компилятора добавляется директива -D с соответствующим имененем, например

Цитата

-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c

...

./sources/drivers/rs485/rs485_bus_2 -std=c23 -D__UVISION_VERSION="540" -DSTM32F407xx
-o ./Objects/*.o -MMD

Поэтому этот символ STM32F407xx появляется как "глобальный" #define, явно нигде в файлах не написанный, но существующий.

Поэтому его можно использовать для всяких там условных включений и т.д.

Share this post


Link to post
Share on other sites

Не ждите ништяков от IAR, они в вашем случае только у AVR/Microchip Studio :english_en:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...