Я строю среду исполнения для Arduino Due, основываясь на этой работе Брента Зайделя .На плате используется процессор Atmel SAM3X8E, имя которого, как вы могли заметить, состоит из семи букв.Брент делает это примечание в файле a-sam3x8.ads
:
-- This package should be called "System.Sam3x8e", but after lots of testing,
-- it seems that for some reason it just wouldn't find the package. Calling
-- the package "System.Sam3x8" does work.
Действительно, после моего собственного тестирования я не смог собрать среду выполнения с «правильным» именем.При ближайшем рассмотрении я заметил, что все предопределенные файлы в GNAT и других BSP, кажется, имеют ровно шесть букв, плюс префикс, как описано в документации GNAT о правилах именования файлов .Там также есть некоторая информация о gnatkr
и именах файлов "krunching", которые должны содержать определенное количество символов, и даже пример предопределенной единицы, которая сокращается до 8 символов.Тем не менее, я не могу найти никакого объяснения относительно , почему предопределенные единицы сокращены.
Я полагаю, чтобы исправить этот конкретный случай, я мог бы назвать пакет System.SAM3X8E
, а затем отменить его или добавитьpragma Source_File_Name
, но я бы предпочел просто иметь описательные имена файлов.На самом деле, я бы хотел, чтобы я мог переименовать все предопределенные файлы, чтобы использовать их полные имена.Я знаю, что они получатся длинными, но я бы предпочел иметь длинные, описательные имена, чем шестибуквенный алфавитно-цифровой беспорядок.