Jump to content

    

Darth Vader

Участник
  • Content Count

    246
  • Joined

Community Reputation

0 Обычный

About Darth Vader

  • Rank
    Местный

Recent Profile Visitors

1031 profile views
  1. Вот на чём сидели - оттуда и вытаскивайте. Из Кейла. Например тут: c:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\SVD\ лежат SVD для семейства STM32F1xx. Рядом будут папки для других семейств МК, если установлены соответствующие паки. Либо просто скачать нужный пак по ссылке выше, открыть его, как обычный zip-архив, и вытащить оттуда нужные SVD-файлы.
  2. Видимо, кому-то все-таки нужно, коли есть такое. Тут вам и фиксация, и защита от солдатского сапога: просили - получите.
  3. Экран системы наведения и целеуказания в штабе (штабной машине) или на СПУ комплекса стратегического ЯО - вполне себе мультимедийный девайс. Однако, одновременно он является изделием (составной частью изделия) военной техники.
  4. Cortex®-M7

    Нет компилятора Кейл. Есть такая интегрированная среда разработки, в которой используются компиляторы разработки ARM двух видов: версии 5 и 6.
  5. Это утверждение понятно. Безосновательно, бездоказательно, голословно, но, хотя бы, понятно. Просто, публичная декларация своего личного мнения. А вот этот вопрос непонятен. Автора интересует КТО будет платить штраф? Или в чью пользу будет уплачен штраф? Но не ясно: что это за штраф, на каком основании он должен быть уплачен? Для уплаты штрафа должно быть основание - постановление суда. Автор что, собрался подать в суд на компанию Allwinner (в Китае?) и потребовать с нее уплаты штрафа (в свою пользу?) на том основании, что, по его личному убеждению, все её однокристальные системы имеют бэкдор?
  6. Общий стнтаксис описан тут. Здесь region_name - имя интересующего execution region. Он берется из линкер-скрипта .sct. А туда попадает из меню опций проекта (вкладка линкер). Там предопределено несколько стандартных имен для регионов памяти. Но никто не мешает написать линкер-скрипт самому и использовать его. Тогда имена регионов могут быть любыми, отличными от стандартных предопоеделенных в Кейле.
  7. Согласно этому должно быть не так ROM_Data_Start_Ptr IMPORT |Image$$RO$$Limit| DCD |Image$$RO$$Limit| а так: IMPORT |Image$$RO$$Limit| ROM_Data_Start_Ptr DCD |Image$$RO$$Limit|
  8. Если планируете писать на ассемблере - можно использовать CodeMaster-52 от ООО "КБ Фитон" в качестве среды разработки. Она бесплатная, есть симуляция. Я ей пользовался лет 10 назад, когда ещё писал для MCS-51 (AT98C4051, AT89S8252).
  9. Согласен. Точнее могу, но тогда компилятор под такую архитектуру не будет соответствовать стандарту. В рамках стандарта реализовать компилятор не выйдет. Это противоречит требованию Нельзя выбирать ширину байта больше, чем ширина минимально адресуемой ячейки памяти аппаратуры. Если в аппаратуре она 8 бит - значит бай будет 8 битным. Если 13 бит - то 13 битным. Это требование стандарта.
  10. Сделать запрос в Allwinner? А это к чему? Это ваша ориентировочная потребность на ближайшие 10 (или сколько?) лет?
  11. В принципе, я понимаю, к чему клонит автор темы. Предположим, я, как разработчик архитектуры и ядра, могу решить, сделать своё ядро с размером минимально адресуемой единицы памяти Х бит. И это Х вовсе не обязательно должно быть равно 8. Могу сделать 4, или 5, или 12, или 14, или 19 и т.д. Получается, что разработчики компилятора языка Си под такую мою экзотическую архитектуру должны обеспечить корректную генерацию кода под мою адресацию и размер (ширину) Х. И предоставить соответствующие описания в файлах limits.h, stdint.h и пр.
  12. Это вообще не понятно. Такого не должно быть. Компрессия данных применяется линкером ТОЛЬКО для секций с атрибутом RW. Для RO не применяется. Причем она по-умолчанию включена. Линкер думает, что это ОЗУ и вставляет до main() код декомпрессии и записи туда начальных значений. Т.к. это не ОЗУ, а флеш, то к требуемому результату это не приводит. Но остается вопрос: а почему там не 0хFFFF во всех элементах массива? Значит, перед программированием эта область памяти не стирается, и там остается мусор?
  13. V8 не работает с М7 ни при каких прошивках. Здесь об этом прямо написано - см. таблицы функциональности.
  14. Т.е. вы привели пример, где сами вручную посчитали размеры всех массивов - членов структуры. А хотите сделать все эти массивы безразмерными в описании структуры? Не выйдет. Ранее уже сказали, что массив неопределенной длины допистим лишь в случае, когда он последний член структуры.
  15. Снова инициализировать тип Правильно: Описать тип. Создать и инициализировать объект этого типа. На совести компилятора и его настроек оптимизации. В простейшем случае останутся, т.к. он увидит, что значения из массива хоть раз используются - для инициализации массива - члена структуры. Но если уровень оптимизации будет повыше, то он увидит, что нигде, кроме как для этой инициализации значения не используются. И выкинет его. А инициализацию заменит инициализацией непосредственно значениями массива. А как компилятор вычислит значение выражения: sizeof(имя_типа_структуры)? Получается, размер для типа будет неизвестен. А размер объектов этого типа может быть разным.