Перейти к содержанию
    

Изучаем TMS320F28xx

"Готовлюсь" применить TMS320F2810, всплыло несколько вопросов:

1. Написал свой загрузчик, погонял программу в симуляторе, надо ее зашить в SPI EEPROM, на выходе компилятора получаем @@@.out, как получить @@@.hex?

2. При написании программы на C до конца не понятен механизм рамещения кода в памяти. Те TMS может на 150 МГц с задержкой 5 тактов исполнять из Flash, или без задержки из RAM. Где то мельком видел что С может копировать код при начальной загрузки из Flash в RAM и запускаться уже из RAM, как это заказать С или лучше это делать своими ручками?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу выполнения программы из ОЗУ.

С за Вас ничего не сделает, просто в начале выполнения программы Вы должны нужные куски кода скопировать из flash в RAM. Как это делается посмотрите примеры, предоставленные TI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Готовлюсь" применить TMS320F2810, всплыло несколько вопросов:

1. Написал свой загрузчик, погонял программу в симуляторе, надо ее зашить в SPI EEPROM, на выходе компилятора получаем @@@.out, как получить @@@.hex?

 

В CCS есть утилита для конвертации .out->.hex

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Готовлюсь" применить TMS320F2810, всплыло несколько вопросов:

1. Написал свой загрузчик, погонял программу в симуляторе, надо ее зашить в SPI EEPROM, на выходе компилятора получаем @@@.out, как получить @@@.hex?

 

В CCS есть утилита для конвертации .out->.hex

 

Называется dsphex.exe

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Готовлюсь" применить TMS320F2810, всплыло несколько вопросов:

1. Написал свой загрузчик, погонял программу в симуляторе, надо ее зашить в SPI EEPROM, на выходе компилятора получаем @@@.out, как получить @@@.hex?

 

В CCS есть утилита для конвертации .out->.hex

 

Называется dsphex.exe

Утилита называется hex2000.exe. Входит в состав CCS.

 

"Готовлюсь" применить TMS320F2810, всплыло несколько вопросов:

1. Написал свой загрузчик, погонял программу в симуляторе, надо ее зашить в SPI EEPROM, на выходе компилятора получаем @@@.out, как получить @@@.hex?

Для этого существует утилита cgtools\bin\hex2000.exe. Почитайте описание, разберетесь.

 

2. При написании программы на C до конца не понятен механизм рамещения кода в памяти. Те TMS может на 150 МГц с задержкой 5 тактов исполнять из Flash, или без задержки из RAM. Где то мельком видел что С может копировать код при начальной загрузки из Flash в RAM и запускаться уже из RAM, как это заказать С или лучше это делать своими ручками?

Размещение в памяти полностью управляется скриптом линкера - который .cmd файл. Для того, чтобы фукнция работала из ОЗУ, надо поместить ее в отдельный сегмент, а сегмент этот скопировать на этапе инициализации из флеши в ОЗУ. Все это можно посмотреть в примерах по конфигурации флеши.

 

Кстати, реальная работа из флеши не в пять раз медленнее. Если включить конвейер флеши, то скорость значительно возрастает и составляет на линейных участках примерно 90-100 МИПС при 150 МГц тактовой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...