Easyelectronics.ru

Электроника для всех
Текущее время: 06 дек 2019, 03:58

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 136 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 31 авг 2013, 22:19 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
MrYuran писал(а):
freemodbus - проще некуда.
Дальше можно наворачивать или наоборот упрощать.
так он же, родимый, и используется. Там чуток подправил какой-то мелкий баг да переставил на другой таймер. Но я же говорю, для меня он сложный. Хотя, глянул вот сейчас. на МСП430 имплементация есть... Мож и заюзаю, от лени.

Начал знакомиться с семейством. И узнал, что, оказывается, у 5 и 6 серий фьюз-то "электронный". Не прожигается там нифига, а просто пишется определенная сигнатура во ФРАМ-память. Как-то с наскоку я еще не смог сложить картинку всех способов записи программы, ее отладки и защиты. Но вижу, что "прожечь фьюз" = записать сигнатуру.
Если это так, то никакого отдельного аппаратного устройства для установки-снятия защиты и не требуется? Запись во ФРАМ
1) сигнатуры1 0хAAAA
2) сигнатуры2 0х0004
3) 4-х байт с адреса 0хFF88
"залочивает" камешек, да еще и с возможностью "разлочивания" впоследствии?
Я верно понимаю?
А софтина, работающая с отладочными платами, умеет эти сигнатуры прописывать? И, кстати, что ставить в качестве инструментария? Работать буду только на Си, код как минимум до 16К должен компилироваться, имеется нелюбовь к крэкам. Есть выход? Ладно, с этим еще надо почитать в Сообществе. Пока я вижу только из "честных" программ то, что советует коллега amx: mspdebug+msp430-gdb
Ну, надо будет пробовать под Убунтой собрать все это.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 19:19 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Думаю, что здесь уместно размещать и свои вопросы, связанные с работой с данными камешками.
Изучая Family Guide данного семейства, встречаю некторые мелкие НИПАНЯТКИ. Кому не лень - прошу сократить мне красноглазие (изучаю в паузах между рутинной работой).

1) Система клоков. Прошу подсказать, какая будет разница при работе с периферией от ACLK или SMCLK?
То есть, в моем простеньком проекте юзаются два таймера А и один УАРТ. У всех на входе есть селектор клока. Дык - что лучше, ACLK или SMCLK? И почему?
Кварц будет на 8 МГц, частота, вполне годящаяся и для таймеров, и для УАРТа. То есть, любой из ACLK или SMCLK будет юзаться с предделителем 1:1...

2) Таймер А (да то же и в В): если я выбираю наипростейший режим UpMode, щелкаю до значения TA0CCR0 и генерю прерывание, то нужно ли еще настраивать и Compare работу?
В описании UpMode сказано, что при достижении TA0CCR0 поднимаются 2 флага (с разрывом 1 такт - мне по барабану) - TAIFG и CCIFG. Я выбираю работу со вторым, у него есть dedicated vector, чтобы проще была подпрограмма отработки прерывания. Но, по сути, это же прерывание КАГБЭ по совпадению. Именно TA0CCR0 есть один из регистров, с которыми таймер сравнивает свой счетчик. Так, думаю я, может тогда следует в регистре управления TA0CCTL0 установить бит CAP=0 - режим сравнения?

3) Читаю описание системы контроля ошибок при обращении к ФРАМ-памяти... Огошеньки. И это реально нужно закладывать в проект? То есть, прерывания по ошибке... чтой-то там делать... а чьо делать?

4) RTC не собирался юзать. И резервного питания не будет. Но вот подумал: если просто тикать этим модулем, считая время от включения питания, то какое-то "условное" время у нас в системе будет жить. Его-то всегда можно получить из сопЦвенных системных тиков (у меня 10 мс). Но тут уже готовые часики... Например, использовать timestamp для лога каких-нить событий (да тех же сбоев оборудования или еще чего). Ведь писАть-то есть куда! Ресурс записей неограничен. КАРОЧИ, может и захочу использовать.
Так вот, если батарейки нет, то этот модуль нормально будет работать вместе с остальным МК - и просто начинать с нуля каждый раз? Вроде как иначе и нельзя, понимаю. Но, когда поверхностно знакомился с СТМ32, там еще и вход питания для часиков делали... В общем, развейте сомнения. Скажите, что да, будешь иметь время от 1901 года (или я могу его при старте устанавливать в какое-то более приятное время, например, на дату своего рождения?) - и этим временем нормально можно сопровождать лог событий...

Ну, пока все. Есть коллеги, которые просто недочитывают постинги, где многабукаф...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 20:10 
Старожил
Аватара пользователя

Зарегистрирован: 10 фев 2012, 18:04
Сообщения: 827
Откуда: Україна
drvlas писал(а):
1) Система клоков. Прошу подсказать, какая будет разница при работе с периферией от ACLK или SMCLK?
То есть, в моем простеньком проекте юзаются два таймера А и один УАРТ. У всех на входе есть селектор клока. Дык - что лучше, ACLK или SMCLK? И почему?
Кварц будет на 8 МГц, частота, вполне годящаяся и для таймеров, и для УАРТа. То есть, любой из ACLK или SMCLK будет юзаться с предделителем 1:1...

Да они позволяют конфигурировать как угодно. Я не проверял, но работать, думаю, будет и с ACLK.
Но у меня лично сложился стойкий шаблон, что ACLK - это именно резерваная (и небольшая) тактовая и юзать ее надо для спящих режимов, сторожа и т.п.
А SMCLK - это просто вспомогательная тактовая, если нам надо иметь в системе несколько частот. Например, MCLK быстрая для ускорения вычислений, а SMCLK поменьше для периферии (или такая, которую удобнее делить).
Во всяком случае, я делаю так и все гуд. Но может и неправ, конечно.

drvlas писал(а):
4) RTC не собирался юзать. И резервного питания не будет. Но вот подумал: если просто тикать этим модулем, считая время от включения питания, то какое-то "условное" время у нас в системе будет жить. Его-то всегда можно получить из сопЦвенных системных тиков (у меня 10 мс). Но тут уже готовые часики... Например, использовать timestamp для лога каких-нить событий (да тех же сбоев оборудования или еще чего). Ведь писАть-то есть куда! Ресурс записей неограничен. КАРОЧИ, может и захочу использовать.
Так вот, если батарейки нет, то этот модуль нормально будет работать вместе с остальным МК - и просто начинать с нуля каждый раз? Вроде как иначе и нельзя, понимаю. Но, когда поверхностно знакомился с СТМ32, там еще и вход питания для часиков делали... В общем, развейте сомнения. Скажите, что да, будешь иметь время от 1901 года (или я могу его при старте устанавливать в какое-то более приятное время, например, на дату своего рождения?) - и этим временем нормально можно сопровождать лог событий...

Да конечно можно. Не вижу никаких проблем. Отдельная нога - это просто наворот, чтобы поменьше головной боли с диодами там и другими подобными решениями.
Хотя, опять же, не знаю что там у тебя, но мой камешек, с которым сейчас люблюсь, имеет, окромя аналогового и цифрового питания, еще три входа резервных, два из которых служат как резерв основного питания. А третий спецом для резерва часов, backup RAM и даже парочки цифровых входов, если это требуется. Кстати, на некоторые можно вешать кондеры (ионисторы) и изнутри, через программно выбираемое сопротивление, их подзаряжать, пока есть основное питание.

Добавлено: Поглядел в доку на MSP430FR57xx. Там конечно все попроще и таких понтов нету. Но юзать часики с пуском каждый раз по питанию можно без проблем. Единственное, это же ради них отдельный кварц вешать прийдется..?

_________________
"Если вы такие умные, что ж вы строем не ходите?"

Легче зажечь одну маленькую свечу, чем постоянно жаловаться на тьму...


Последний раз редактировалось DOOMSDAY 05 сен 2013, 20:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 20:23 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
А вы grace ставили? Там по картинке все становится понятно. Насколько я понял ( применимо к msp430g )aclk используют либо как низкоскоросной внутренний генератор, либо как генератор от часового кварца.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 21:14 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
DOOMSDAY писал(а):
ACLK - это именно резерваная (и небольшая) тактовая и юзать ее надо для спящих режимов, сторожа и т.п.
А SMCLK - это просто вспомогательная тактовая, если нам надо иметь в системе несколько частот
...
Но может и неправ, конечно.

Даже если и неправ, то ход мыслей мне понравился. При отсутствии сильных аргументов "против" - возьму себе на вооружение.
То есть, применительно к моим проектам, я юзаю везде SMCLK, да еще она у меня пока и равна MCLK. Ибо потребление мне не впилось никак. Камешек и так мало жрет. Я и частоту 7,3 МГц сделаю, вааще крутЪ.
Знаешь, я вообще захотел сделать небольшую заметку о настройке этих камешков при условии работы с обычным энергопотреблением. В мануалах так много рассказывается об LPMхх (и это правильно!), что приходится буквально с мачете прорубать дорожку к настройке обычного режима. А если отбросить всякие попытки работы с LPMхх, то материал по настройке ужмется и станет проще...

DOOMSDAY писал(а):
Единственное, это же ради них отдельный кварц вешать прийдется..?
Блин... да. Ну, тогда проще уже из моих 10 мс считать время. Тогда уж нафик и без перевода в человеческие минуты-часы можно обойтись. Как в моем любимом ПЛК, бежит себе время в формате 64 бита - вот по нему timestamp и делать. Все равно время условно, от моего рождения :)

2 Signaller: Насколько я понял, грейс - только для Value Line. Или?
У меня была, но я вот на днях чистил диск С (ставлю разные IDE, а диск засран по самое никуда), снес грейс.
З.Ы. Снес нечаяно и Диптрейс. Как-то там вроде 2 версии стояли, я решил старую снести - о-па! А разводка платы и не открылась... Вот такие они, чистки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 22:49 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Делай раз:
Изображение
Делай два:
Изображение
Вот только не знаю какой точно у вас мк, взял тот что понравился.
ЗЫ CCS 5.4.0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 23:25 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Йошкин кот, открываю для себя новые возможности. Хороший МК сделали техассцы :)

Напомню, что вопросы 2 и 3 из предыдущей серии не отвечены. Может подгребутся знатоки, зыркните, плз, и на 4 постинга выше.
А я тем временем пофантазирую про генерацию сигнатур (или подсчет контрольной суммы, можно так сказать).

Итак, есть чЮдесный модуль CRC. Осталось для меня загадкой, что там за регистры CRCDIRB и CRCRESR. Не то, что в них содержится, а зачем оно нужно. Как я понимаю, достаточно вкинуть семя 0хFFFF в CRCINITRES, потом набросать весь массив (буфер обмена с Модбасом, например) побайтно в CRCDI_L - и вуаля! Читаем сигнатуру из CRCINITRES. И, вроде бы, остальные 2 регистра в таком применении не нужны. Так?

Фантазирую далее. Можно ли пристроить КПДП (DMA по нынешнему) к подсчету CRC? Я сначала решил, что при Addressing_Mode = Block_to_Fixed и Transfer_Mode = Block_Transfer мы весело и звонко пихаем весь буфер данных в один адрес - именно на вход модуля CRC, процессор при этом остановлен, а по окончанию его пускают в работу - даже не надо проверять бит DMAEN в модуле DMA... Но сомневаюсь, что понял процесс запуска этой блочной операции. Вроде как в регистре DMA0CTL есть бит DMAREQ - и его установка разрешает работу КПДП. Что-то о таком способе проскальзывает в таблице 7-2 на стр. 276 описания семейства (SLAU272B). Но! Но должен же быть и триггер, запускающий конкретно блочную операцию? А какой триггер выбрать? В описании регистра DMACTL0 говорится о 32 возможных источниках пуска (DMA0TSEL) и предложено смотреть описание конкретного МК про распределение триггеров. Где это найти в описании MSP430FR57xx - х.з. Я не вижу.
Кто-то работал с КПДП? Можете подсказать?

2 Signaller: кльово! Ща поищу, где ты взял этого греся :)
А у меня идеально ложится MSP430FR5726IPW - ничего лишнего. Уже в 5728 есть не нужный АЦП, в 5736 - ненужнаяч частота 24 МГц, а в 5738 - обе этих ненужных фичи одновременно. Так что буду заказывать 5726, хотя пилот-проект сделаю на том 5739, который входит в отладочную плату.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 23:45 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Пытаюсь помочь методом научного тыка, вот такую фигню пишет при попытке включить rtc_b в МК 5739:

32kHz crystal or clock source is required for RTC_B. Navigate to the Clock System module to configure the clock source.

Так что воспользоватся часиками без кварца не получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 23:49 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Signaller писал(а):
Пытаюсь помочь методом научного тыка
А я качаю Grace в Standalone версии. Медленно так, но ползет...

Ну вот, те же яйца, только в профиль. Закачаный грейс 2.1.0.00007 дает только серию F2хх и G2хх. А без Compose Studio никак нельзя поюзать версию с покрытием и серии 5хх? Я Студию в упор не хочу ставить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 05 сен 2013, 23:58 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Вот такую картинку выдает настройка dma:
Изображение
Я им никогда, нигде не пользовался, потому сказать чего оно хочет, мне сложно. Ясно одно слева триггер (им могут быть таймеры, передатчики, ацп и еще пару событий) и чего то типа crc в нем нет. Ну а справа способы работы dma. С другой стороны, сам модуль crc подключен на шину, а значит его возможно заюзать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 00:15 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Качать саму грейс не хочется, но я пока не вижу каких либо ограничений в stand alone версии. Может где то глюк.
UPD CCS установлена GRACE 2.10.0.78


Последний раз редактировалось Signaller 06 сен 2013, 00:29, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 00:21 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Signaller писал(а):
Качать саму грейс не хочется,
Ну да, там здоровенная плюха. И без толку...

Я почитал в их форуме, там народ интересуется с 2011 года поддержкой 57-го семейства. Представители Компании отвечают уклончиво, смещая сроки все дальше и дальше. В январе 2013-го сказали, что в первом полугодии будет :)
После чего повесили на тему таг "Отвечено". Я написал туда вопрос, он появился в свежих. будем здать...

В ролике про ГРЕЙС кадр говорит о поддержке 57-го семейства, как о свершившемся факте. Да и мне странно: если у тебя в Студии поддерживает, то почему в standalone нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 00:40 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
В принципе эта Grace создает с десяток си файлов, в которых находится код инициализации. Я так в авр делал, в codevision avr генерил init(), а потом копировал его в аврстудио.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 00:53 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Signaller писал(а):
Я так в авр делал, в codevision avr генерил init(), а потом копировал его в аврстудио.
Я тоже. Но вот у тебя поддержка ФРАМ МК Грейсом есть - так ты из CCS работаешь? А там можно глянуть версию этого плагина?

Что касается списка триггеров, то там CRC и не будет. Как я себе представляю, сформировав некий масив байт (принятый из Модбаса или приготовленный к посылке), я даю модулю КПДП адрес этого буфера, длину, а также регистр данных модуля CRC в качестве приемника. И после этого хочу толкнуть процесс - прямо софтверно, от процессора. То есть, триггерное событие создет сам ЦП. Если это возможно, то после этого КПДП начнет работу, процессор остановится, а когда КПДП закончит, процессор сам стартанет как ни в чем не бывало. Типа, прерывание :)
Ладно, это могут подсказать только те, кто юзал - или эксперимент...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 01:02 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Ну, блин, не удержался, скачал:
Изображение
Пробуйте так: открываем грейс-view-ti resorse explorer. Далее file-new, и там есть и fr камни.
Show "Как то так"


UPD: по СRC, а это не оно:
Цитата:
r. Software or hardware (for example, the DMA) can transfer data to the CRCDI or CRCDIRB register (for example, from
memory).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 01:17 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Спасибо, это здорово!
ЩА буду рыться. Но с КПДП там ничего нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 01:41 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Вот что нашел в интернетах по этому модулю
Код:
// initializes CRC with seed, depends on CRC version
  CRCINIRES = seed;
  // write each word to input register
  for(i = 0; i < len; ++i)
    CRCDI = data[i];
  // reads CRC result
  int crcResult = CRCINIRES;

Можно ли тут что то разрулить dma хз. И что такое seed вообще не ясно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 01:52 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Спасибо еще раз! Очень наглядно, что бы там гуру не говорили :) Очевидно, как раз под таких как я сделано. Жаль, что не узнал раньше - все это раскапывал по мануалу. Но зато какие красивые файлы сгенерило! Я бы так не сделал, точно. Теперь буду изучать "свой" проект :)

По поводу твоего примера из Инета - это очень правильное "классическое" использование CRC-модуля. "Семя" - это начальное слово, которое кладется в регистр результата. Оно для Модбаса однозначно равно 0xFFFF.
Конечно, можно так оставить. Программа мизерная и до 256 байт она прокрутит быстро. Если отдать все на КПДП, то выбрасывается цикл for() - всего -то :) Но интересно же! Так что я все же буду разбираться с DMA...

ДОБАВЛЕНО: Разобрался с КПДП (DMA). Пока только теоретически, но вродь нет особых подводных камешков.
Так вот, запустить процесс ПДП вполне можно софтом. Достаточно выбрать в регистре DMACTLx поле DMAxTSEL = 0 (уточнять по даташиту на конкретные камешки, но для моего именно 0), чтобы триггером был назначен софтверный бит DMAREQ в регистре DMAxCTL. Процессор загружает параметры обмена (начальный адрес источника, приемника, длину, размеры - байт или слово, флаги инкрементации адресов) - и взводит бит DMAREQ. Как только он закончит выполнять эту команду, КПДП начнет свою работу - а процессор тупо остановится (если не выбран burst-режим, когда ЦП и КПДП толкутся вместе). Когда работа КПДП закончится, ЦП продолжит работу со следующей команды. Лепота!


Последний раз редактировалось drvlas 06 сен 2013, 23:47, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 06 сен 2013, 21:59 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Signaller писал(а):
Grace создает с десяток си файлов... Я так в авр делал, в codevision avr генерил init(), а потом копировал его в аврстудио.
Я вот обратил внимание, что в сгенерированных файлах очень четко выделены зоны пользовательского кода. И сказано (чего в codevision avr я как-то не замечал), что можно писать свой юзерский код в указанных областях, а потом (внимание!) Грись может повторно сгенерировать файлы - И НЕ ТРОНУТЬ ЮЗЕРСКИЙ КОД. Как на мое скромное имхо, это суперская фича! По ходу развития проекта может неоднократно возникнуть задача подправить что-то в настройках периферии. Самый простой (но не единственный) пример - переназначить ноги при разводке. Конечно, можно влезть в сишную прогу и ручками подпарвить. Но... если уж техасские индусы придумали такую классную вещь, что можно апдейтить файлы, сохраняя юзерский код - то грех это не использовать! Я условно называю такой способ связи с Грисем "позднее связывание". Получается, что проект в GRACE продолжает оставаться актуальным в ходе всего развития проекта в CODE::BLOCKS или CCS.
Но есть одно "но". Если у уважаемого земляка Signaller-а и проект живет в CCS, и Грися запускается как плагин этой Студии, то у меня ситуация несколько иная. Я-то компилю из Коди Блока. И вот тут столкнулся с сюрпризом: сгенерированные Грисем файлы не компилируются Кодей. Вспомним, что проект из codevision не компилится сразу АВР Студией. Но там мы брали сгенерированные файлы раз и обрубали концы. Ручками их рехтовали - и запускали в студию. А здесь же, вишь, я провозглашаю "позднее связывание". Хочется минимум править руками.
Что делать? Как заставить mspgcc компилировать Грисевы файлы? Первое, что я вижу: хедеры и библиотеки. Нужно разобраться с тем, где их держит GRACE и как-то подсунуть Коде Блоку. Может еще что-то надо будет делать, но это потом станет ясно. А пока вот такая задача: слить инклуды GRACE и mspgcc.
Кто-то знает, как это сделать?
И вообще - не окажется ли, что потом еще слишком много править руками, чтобы "позднее связывание" имело шанс жить?

Для иллюстрации привожу начало одного из Грисевых файлов. Здесь, в том числе, есть и место для юзерского кода.
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 07 сен 2013, 02:29 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Завтра ( тоесть уже сегодня днем ) буду дома посмотрю чего этот CCS творит. По памяти он в основном файле включает msp430.h и основной файл сгенерированный Grase. А в теле main просто пишем Grase_init();
Ну а дальше надо смотреть на что ругается IDE. Может ей банально надо пути к внешним либам прописать или еще что -то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 07 сен 2013, 10:48 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Signaller писал(а):
Ну а дальше надо смотреть на что ругается IDE. Может ей банально надо пути к внешним либам прописать или еще что -то.
Я очень надеюсь именно на это. Тогда так и нужно сделать, как ты говоришь. Но я вот не могу понять, какие именно пути для библиотек прописать.
Что-то добавил - ошибки компилятора ушли, то есть, инклуды скушало (по ходу ругалось заложенными в Грысевы файлы предупреждениями о возможной несовместимости включаемых файлов с тем, что Грысь имел в виду - и очень правильно, нефиг на ИАР-овские директории ссылаться, кодга у Грыся, как оказалось, все свое есть).
А теперь вот именно функции линкер найти не может. Например,

CS_setExternalClockSource()

...и остальные красивые вкусняшки для ленивых. Вырезать их и заменять на колхозные опеарции с битами регистров периферии - не хочу принципиально. Это отход от "позднего связывания". Ищу мясо библиотеки Грыся...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 07 сен 2013, 12:09 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 5423
Откуда: Москва
То есть ты хочешь поженить CB, Grace, и все это для MSP, я правильно понял?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 07 сен 2013, 12:20 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Richtig!

Правда... Уже начинаю сомневаться. Дело не в том, что пока не могу найти те сраные библиотеки - это решаемо, ИМХО. А дело в том, что вот, смотрю на все эти вызовы функций там, где мы привыкли ставить битовые операции с конфигурационными регистрами, и думаю: "А не слишком ли отрываемся от железа?" Если бы еще я видел, где легко и просто глянуть, как именно техасцы делают вот это

Код:
CS_disableClockRequest (__MSP430_BASEADDRESS_CS__, CS_ACLK);


...то всегда можно было бы (при проблемах с периферией) глянуть-обсудить-устранить. А если все эти функции будут представлены только в объектных файлах, то остается только слепо верить. А слепо не очень нДравится...

Но в общем, да. Хочу вот такой комбайн закатать. Наглядность Грыся подкупает. А там видно будет, насколько это удобно в жизни, на программах чуть более сложных, чем "хельо ворлд"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 07 сен 2013, 22:11 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2077
Откуда: Киев
Вот так выглядит основной файл:
Код:
/*
* ======== Standard MSP430 includes ========
*/
#include <msp430.h>

/*
* ======== Grace related includes ========
*/
#include <ti/mcu/msp430/Grace.h>

/*
*  ======== main ========
*/
int main(void)
{
    Grace_init();                   // Activate Grace-generated configuration
   
    // >>>>> Fill-in user code here <<<<<
   
    return (0);
}

Show "Grace init"

И также GRACE.h
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 08 сен 2013, 01:44 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
drvlas писал(а):
Уже начинаю сомневаться
Даже более того. Полдня мучительного распивания виски освоения инструментария вместе с коллегой Steel.ne показали кое-что неутешительное. Библиотеки, на которые опирается Грысь в генерированных файлах, не хотят компилироваться mspgcc (из-под CODE::ВLOKS, хотя это и не важно). Получается, что есть прекрасные файлы инициализации, в них есть куча простеньких функций конфигурирования периферии, но все это добро рассчитано на работу под родным CCS или IAR. А сторонний компилятор, который техасцы, ТИПА, уважают, справиться с этим всем не может.
Точнее, может, но ручной траханины оказалось столько, что виски кончились раньше... ВОПЧЕМ, бросили мы эту идею. Хотя жаль, жаль.

Да и дебагом под КодБлокс не получилось. С командной строки как-то пошло, то есть сам mspdebug грузит прогу и толкает ее. Но из КодБлокс не получилось. Решили, что надо попробовать все это хозяйство из Линукса. На том и разошлись.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 136 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB