Easyelectronics.ru

Электроника для всех
Текущее время: 19 авг 2019, 17:23

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



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

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

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3264
если переменная совсем локальная и компилятором будет просто засунута в регистр, то совсем без разницы.
если не совсем, и будет засунута в стэк, то так как 16 разрядные данные на стэке должны быть выровнены, то съест всё равно два байта, так что опять без разницы
по быстродействию разницы никакой, по памяти тоже.
так что где хватает 8бит лучше, думаю, использовать 8бит, на случай если этот код когда-нибудь вдруг будет перенесен на 8ми битные МК.
ну а в stdint.h помимо uint8_t, есть еще uint_least8_t и uint_fast8_t,


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

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


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

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
keep on running, как пел когда-то Том Джонс. Продолжаю.

Дошел, наконец-то до работы с тем, что есть именно особенным в данных камешках: до собственно ФРАМ. Почитал о делении памяти на три сегмента произвольной длины, про кусочек размером в 256 байт (Information Memory), куда легко войдут мои данные для энергонезависимого хранения... Все классно. Только вот не понятно, как в Си-шной программе объявить, что данная переменная должна храниться не в ОЗУ, а в указанном сегменте ФРАМ? Наверное, есть какой-то слау...

(Да, а CRC модуль разочаровал. Для Модбаса не годится. Эх!)


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

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3264
линкеру через pragma указать секцию при объявлении, описание в мануале на компилятор.


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

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
_pv писал(а):
описание в мануале на компилятор.
Начитался до одури... Много интересного, конечно, только непрактично это. Особенно, если в АСМе не работаешь - тогда большинство примочек с размещением секций (сегментов) просто не нужно знать, "извозчик довезет".
Когда устал, решил порыться в примерах. И вот вижу такой: "программирование" ФРАМ из программы пользователя. Иными словами, это как раз запись во ФРАМ неких значений, которые могут быть в программе переменными - но сохраняться при выключении питания. Я их и называю параметрами.
Show
Что я здесь понял:
1) Указав абсолютное значение указателю FRAM_TEST_START, равное 0хСА00, мы без всяких спецдиректив линкеру обеспечиваем обращение именно к указанному адресу. Да, это не верх искусства, лучше было бы дать линкеру возможность прилепить секцию просто в хвост секции кода... Но и ничего старшного нет, для отладки, например, всегда строго известно, где лежат переменные-параметры.
2) сама же запись в указанную память происходит прозаически просто - по пойнтеру пишется, вот и весь хер до копейки. Подозреваю, что компилятор даже не знает, что обращаются не к ОЗУ, а к ФРАМ. Ведь это в примере мы задали FRAM_write_ptr = (unsigned long *)FRAM_TEST_START, работая потом в области ФРАМ, а в жизни ему может быть присвоено значение, указывающее и на ОЗУ.

Если это все работает (ЩА буду проверять), то все переменные-параметры я и буду читать-писать через указатели. Они, эти переменные все равно в массивах.
Немного странно, что так просто. Но почему должно быть сложно? Если модель памяти линейная, команды обращения ко всем областям одинаковы, то вроде все верно. Или?

Одно только мучает израненную душу: где же, блин, файл-листинг? Или он не порождается (это же в ключах линкера искать?), или я его не вижу среди всего гамуза, рожденного революцией компиляцией.


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

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
drvlas писал(а):
Одно только мучает израненную душу: где же, блин, файл-листинг? Или он не порождается (это же в ключах линкера искать?), или я его не вижу среди всего гамуза, рожденного революцией компиляцией.

В ИАРе? все должно быть. И листинг, и мап с полной расцеховкой.
В настройках куча вкладочек и галочек, можно посмотреть.

Раскопал :)
Project->Options->List->Output list file V

Закопал обратно


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

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Увы, CCS. Честно-бесплатно :)
Следующая на очереди - Код Блокс + mspdebug. Нужно только закончить текущий проект, и буду пробовать. Прошлый заход закончился обломом на дебаге - а потом выяснилось, что слетела платка ланчпада. Теперь аппаратно я вооружен до зубов, но пока юзаю Студию. И ничего так, нормальненько.
Show


Да-с... Так вот в аутпуте CCS я как раз и не могу найти листинга. Кто знает, как его породить и где искать - ткните, плз!


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

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
drvlas писал(а):
Увы, CCS. Честно-бесплатно :)

Не может быть! (чтобы совсем бесплатно)


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

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
MrYuran писал(а):
Не может быть! (чтобы совсем бесплатно)
Погодь, дай вспомнить... :)
Я не платил ничего. Ну, там регистрации, разрешение Правительства Соединенных Штатов Армении Америки, обязательства не разрабатывать атомную бомбу, то да сьо... И качай на здоровье. Ограничение, ИМХО, 16К в Си.
Но с ограничением тоже интересно. По-моему, в этой ветке мы обсуждали, возрастет ли код при переходе с АВР. Тогда и решили, что должОн уменьшится. Так вот, первые результаты (очень приблизительно и сугубо по моему проекту) - код существенно меньше. Было где-то 15К, а сейчас, когда не запущена всего одна, достаточно линейная и простая часть, имею меньше 7К. И это уже Модбас фурычит, причем с дурацкими ЦРЦ таблицами на полкило... Есть чуйство, что в пределах 10К все и закончится.
Да, кое-что сэкономилось на том, что обращения ко внешней ФРАМ по SPI нет. Но сколько там его было... КАРОЧИ, время анализа еще не пришло, но предварительно очень вкусно. Long live to MSP430!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FRAM камешки от TI: MSP430FR57xx
СообщениеДобавлено: 24 янв 2014, 02:24 
Здравствуйте!

Зарегистрирован: 24 янв 2014, 02:11
Сообщения: 1
Всем привет.
Имею msp430fr57 похоже заблокированный (надеюсь, что не сожженный), MSP-FET430UIF и установленный IAR. Хотелось бы разобраться как его разлочить, можно стереть прошивка не нужна. Понял что нужно прописать AAAA или 5555 по определенным адресам, но как я понимаю, сделать это надо каким-то определенным образом. Хотелось бы пример кода предназначенного для разлочивания.

Также хотелось бы разобраться с CRC. Нужно написать процедуру, которая будет проверять прошивку. Я так понимаю, это можно сделать, запихивая через указатель данные расположенные от начала и до конца программы в CRC_set16BitData (uint32_t baseAddress, uint16_t dataIn).
Не очень понял, что такое семя (seed) и откуда его брать.
И хотелось бы задействовать возможности компилятора чтобы он сам каждый раз вычислял CRC проги и сохранял в определенном месте.
Буду очень благодарен за помощь :)


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

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
Как автор темы, должен ответить. Увы, мало что смогу сейчас.

count_disable писал(а):
Хотелось бы разобраться как его разлочить, можно стереть прошивка не нужна. Понял что нужно прописать AAAA или 5555 по определенным адресам, но как я понимаю, сделать это надо каким-то определенным образом. Хотелось бы пример кода предназначенного для разлочивания.
Ты пойдешь впереди. У меня еще не было случаев, да и мало кто пока работате с этими камешками. Пробуй на форуме TI.
count_disable писал(а):
CRC. Нужно написать процедуру, которая будет проверять прошивку. Я так понимаю, это можно сделать, запихивая через указатель данные расположенные от начала и до конца программы в CRC_set16BitData (uint32_t baseAddress, uint16_t dataIn).
Не очень понял, что такое семя (seed) и откуда его брать.
Если сам пишешь и сам проверяешь - то можешь выбрать что угодно. В описании семейства MSP430x5xx and MSP430x6xx Family User's Guide есть пример программы и даже тестовые данные (см. стр. 434 и 435) и там берут 0xFFFF.
Я не задействовал штатный аппаратный модуль CRC по простой причине: его полином отличается от используемого в Модбас. Потому делел програмно...

count_disable писал(а):
И хотелось бы задействовать возможности компилятора чтобы он сам каждый раз вычислял CRC проги и сохранял в определенном месте.
Да... Не думаю, что это возможно, но не думаю также, что это актуально. Если у тебя шьется на столе, то вероятность ошибки очень невелика. Если речь идет об удаленной прошивке, то контролируются данные во время передачи.
Ну, а если я не прав и это актуально, то думаю, что тебе придется варганить отдельную утилитку, которая файл, готовый к прошивке, раскрутит: посчитает контрольку и допишет туда. И все это так сохранит, что потом прошивальщик и не догадается :)


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

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


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

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


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

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

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