Jump to content

    

Darth Vader

Участник
  • Content Count

    439
  • Joined

Community Reputation

0 Обычный

1 Follower

About Darth Vader

  • Rank
    Местный

Recent Profile Visitors

1747 profile views
  1. Может. Но мой вопрос был конкретно про 1986ВЕ9х, 1986ВЕ1Т, 1986ВЕ3Т. И ответ был именно про них, а не про, условно, 1309ЕНхх.
  2. Опять же, не совсем ДЕЛАЕТ. Он их разработал. А пластины изготавливаются на китайской фабрике. Из личной беседы с сотрудниками на одном из семинаров по продвижению их продукции. Миландр - фаблесс компания. У них есть оборудование для отбраковки кристаллов, тестирования, распила пластин на кристаллы, корпусирования и испытания готовых микросхем. Но ПЛАСТИНЫ они заказывают на контрактных производствах в Китае и Тайване.
  3. Вопрос здесь в окупаемости производства. Без постоянной 100% загрузки производственной линии, затраты на фабрику не отбить. А внутрироссийский рынок не в состоянии обеспечить такую загрузку. Мы не потребляем микросхемы в таких количествах. Делать по контрактам за рубеж - не выдержим конкуренции по цене и срокам с Китаем. Плюс санкции. Микрон, например, решил проблему с загрузкой 180 нм производства, "подсадив" много кого на электронные билеты и транспортные карты. Чипы для них они как раз там делают. Это дает постоянный спрос и загрузку линии. Разрабатываются они в РФ, но пластины изготавливаются в Китае. Т.н. интегральная схема 2-го уровня.
  4. Передавайте 0х55 в цикле и по картинке на осциллографе измерьте длительность битового интервала.
  5. Попробуйте в .cpp файле убрать из ОПРЕДЕЛЕНИЯ функции extern "C" Оставить это только в объявлении (прототипе) в заголовочном .h файле. И что за ошибку выдает линкер?
  6. Да, я именно это и имел ввиду. Неправильно выразился. Сами обработчики могут быть раскиданы как угодно. Часть во флеше, часть в ОЗУ.
  7. Почему бы не распределить стек в линкер-скрипте явно в тот регион памяти, тактирование которого включено по-умолчанию при старте.
  8. Я имел ввиду, что до работы с этими переменными у вас дело не доходит. HF случается раньше, чем вы первый раз обращаетесь к ним из своей программы. Это так? При отладке поставьте точку останова на входе в main() и посмотрите, доходит программа туда или нет. Поставьте другую точку в обработчике сброса перед переходом на __main. До туда доходит? Наверняка HF случается внутри __main().
  9. Т.е. вы даже не лезете туда своей программой (не пишите туда и не читаете оттуда) и происходит HF? Посмотрите в map-файле, какие объекты программы линкер разместил в этом регионе памяти. Может там лежат какие-то глобальные данные, которые инициализируются в __main(), и как раз при этой записи и происходит HF.
  10. Для начала просто ознакомьтесь с этим. Это базовые вещи.
  11. Прочтите об этом в оригинале. А про аттрибут размещения в секции здесь. Как видите, имя секции и имя Execution region - разные вещи. Их нельзя смешивать. Вы же именно это и сделали.
  12. Тут всё это подробно расписано. Но минусы такого подхода вам уже расписали. Лучше до последнего не прибегать к вызову функций из загрузчика в основной программе. Они должны быть максимально независимыми. В идеале основная программа вообще не должна ничего знать о существовании загрузчика.
  13. Кого и к чему? Какой результат вы надеетесь подучить, залив дамп от совершенно другого МК? Работать он все равно не будет. Это разные МК с разными архитектурами и системой команд. Они не совместимы друг с другом на уровне бинарного кода. То, что для одного осмысленная программа, для другого просто мусор.
  14. Неправильно. Имя массива является указателем на его первый элемент. А не на адрес первого элемента. Ибо указатель на адрес чего-либо - это уже указатель на указатель. Подробней тут.