История изменений
Исправление KivApple, (текущая версия) :
Там не только STM32, а вообще много разных ARM.
Вообще, поведение для разных семейств МК задаётся непосредственно кодом (слишком уж разное поведение требуется). Я сейчас как раз отрефакторил эту часть и теперь каждое семейство задаётся классом унаследованным от Toolchain (см. файлы toolchain_XXX.py).
Для MSP430 и AVR всё просто и банально - единственный необходимый параметр это -mmcu=XXX. Там никакой базы нет (точнее она есть, но непосредственно в компиляторе). Скрипты линкера и заголовочные файлы генерироваться не будут.
Для ARM ситуация сложнее. Параметры компиляции берутся из devices.data, скрипт линковки генерируется на основании этих данных тоже, а заголовочный файл на основании коллекции SVD (я сегодня выпилил собственную базу SVD и теперь использую пакет cmsis_svd, который прописан в зависимостях моего проекта в setup.py).
Исправление KivApple, :
Там не только STM32, а вообще много разных ARM.
Вообще, поведение для разных семейств МК задаётся непосредственно кодом (слишком уж разное поведение требуется). Я сейчас как раз отрефакторил эту часть и теперь каждое семейство задаётся классом унаследованным от Toolchain (см. файле toolchain_XXX.py).
Для MSP430 и AVR всё просто и банально - единственный необходимый параметр это -mmcu=XXX. Там никакой базы нет (точнее она есть, но непосредственно в компиляторе). Скрипты линкера и заголовочные файлы генерироваться не будут.
Для ARM ситуация сложнее. Параметры компиляции берутся из devices.data, скрипт линковки генерируется на основании этих данных тоже, а заголовочный файл на основании коллекции SVD (я сегодня выпилил собственную базу SVD и теперь использую пакет cmsis_svd, который прописан в зависимостях моего проекта в setup.py).
Исходная версия KivApple, :
Там не только STM32, а вообще много разных ARM.
Вообще, поведение для разных семейств МК задаётся непосредственно кодом. Я сейчас как раз отрефакторил эту часть и теперь каждое семейство задаётся классом унаследованным от Toolchain (см. файле toolchain_XXX.py).
Для MSP430 и AVR всё просто и банально - единственный необходимый параметр это -mmcu=XXX. Там никакой базы нет (точнее она есть, но непосредственно в компиляторе). Скрипты линкера и заголовочные файлы генерироваться не будут.
Для ARM ситуация сложнее. Параметры компиляции берутся из devices.data, скрипт линковки генерируется на основании этих данных тоже, а заголовочный файл на основании коллекции SVD (я сегодня выпилил собственную базу SVD и теперь использую пакет cmsis_svd, который прописан в зависимостях моего проекта в setup.py).