|
crossworks&mt-link, таки нехотит работать |
|
|
|
Nov 30 2006, 11:28
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
Вобщем не заработал в версии 1.5. Решил может из-за того что поломано неудачно и скОчал версию 1.6 3. Результат то же -плачевный. то есть коннект происходит, а вот таргет прошиваться отказывается (at91sam7s256), при этим кроссворкс выводит подобную ругань: Цитата write memory error @ adress 0xFFFFFD00, word access: Memory timeout при этом тут же j-flash работает как хочешь и без проблем. Скорость одинаковая везде - 4000 kHz, timeout -1000. При этом в настройках проекта j-flash вижу некую процедуру инициализации и понимаю что по адресу 0xFFFFFD00 j-flash вобщем ничего не пишет, то есть возможно в кроссворксе задан неправильный скрипт для инициализации. Как ето дело поправить/настроить я не понял, в мануал смотрел - нашел только фигу. Люди добрые у кого кроссворкс пашет с jlink помогите настроить, не виглер же пользовать.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Nov 30 2006, 13:32
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(SpiritDance @ Nov 30 2006, 13:28)  Вобщем не заработал в версии 1.5. Решил может из-за того что поломано неудачно и скОчал версию 1.6 3. Результат то же -плачевный. то есть коннект происходит, а вот таргет прошиваться отказывается (at91sam7s256), при этим кроссворкс выводит подобную ругань: Цитата write memory error @ adress 0xFFFFFD00, word access: Memory timeout
при этом тут же j-flash работает как хочешь и без проблем. Скорость одинаковая везде - 4000 kHz, timeout -1000. При этом в настройках проекта j-flash вижу некую процедуру инициализации и понимаю что по адресу 0xFFFFFD00 j-flash вобщем ничего не пишет, то есть возможно в кроссворксе задан неправильный скрипт для инициализации. Как ето дело поправить/настроить я не понял, в мануал смотрел - нашел только фигу. Люди добрые у кого кроссворкс пашет с jlink помогите настроить, не виглер же пользовать.  Проверьте частоту кварца в пропертях проекта и частоту в пропертях J-Link-а (всё это в CW понятно). Частоту J-Linк-а попробуйте уменьшить, до 1000 например. Про скрипты, по дефолту при создании проекта в него и файл со скриптами включается, в вашем случае что-то типа AT91SAM7_Target.js Для LPC скрипты от 1.5 до 1.6 сильно "похудели".
|
|
|
|
|
Nov 30 2006, 13:50
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
Цитата(Alex03 @ Nov 30 2006, 13:32)  Проверьте частоту кварца в пропертях проекта и частоту в пропертях J-Link-а (всё это в CW понятно). Эээ.... попдборобней пожалуйста а то чегой-то я не понял. Где пропертях jlink в crossworks указывается частота (кварца насколько я понимаю) и где она собственно в проекте(нафига интересно?)?? За подсказку про скрипты спасибо. Я так понимаю что мне множитель - делитель pll поправить таки надо но это дело все равно выполняется после reset, а у меня и до этого не доходит.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Nov 30 2006, 14:34
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(SpiritDance @ Nov 30 2006, 15:50)  Цитата(Alex03 @ Nov 30 2006, 13:32)  Проверьте частоту кварца в пропертях проекта и частоту в пропертях J-Link-а (всё это в CW понятно).
Эээ.... попдборобней пожалуйста а то чегой-то я не понял. Где пропертях jlink в crossworks указывается частота (кварца насколько я понимаю) и где она собственно в проекте(нафига интересно?)?? Для J-Link-a частотта связи в килогерцах 1. Меню Target->Targets 2. Выбираем J-Link и в его пропертях Speed Ну а в проекте project->properties -> закладка Target -> loader parameter. Этот параметр передаётся лоадеру. Для LPC там частота кварца в герцах, используется лоадером для передачи в вызовы IAP (In Application Programming), у Вас (в sam7) похоже не используется?
|
|
|
|
|
Nov 30 2006, 15:26
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(SpiritDance @ Nov 30 2006, 17:01)  Для j-linka стоит 4000 и j-flash с такой частотой прилично пашет, с.м. первый пост. А Вы попробуйте 1000 поставить, у меня 1.6 чёта после 2000 загибается. Цитата Что касается loaderparameter то пусто там, может в этом причина. посмотрю на crossloader. помучаю его, может что и выйдет. а что там для филипса торчит? просто число или еще какие кракозябры? Видимо для sam7 оно не надо. Вот что в его лоадере написано: Код static int loader_set_param(unsigned int parameter, unsigned int value) { /* ignored this loader assumes the startup script has confgured the PLL to run at 47.9232MHz */ return 1; }
|
|
|
|
|
Dec 1 2006, 12:04
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(SpiritDance @ Dec 1 2006, 12:48)  Что-то пока не получается с jlink/ Буду думать еще.
В догонку еще один вопрос почему в 1.6 линкер не видит reset-handler из стартапа как entry point, хотя в 1.5 все было в норме? сам стартап я при переходе при этом не менял, он у меня в папке с прогой лежит. В стартапе 1.6 есть Код .global reset_handler Я хоть стартап и копирую к себе в проект, но при переходе заменяю старый на новый, с соответствующими изменениями, которые у меня заключается в одной строчке: Код #include "hw.h" Ну и этот hw.h меняю по необходимости, это чтобы не в опциях проекта прописывать всякие дефайны для стартапа а в *.h файле.
|
|
|
|
|
Dec 1 2006, 12:28
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
Дак я тоже кроссворкскавский продефайнил, но только то что касается железа да и какой нибудь .global ведь в h-файл не засунешь. А то проблема то вот в чем была поменял я значит энтри поинт на main и вроде все работало пока я не попробывал выкинуть лишний код из проекта, т.е. добавить опции Цитата компилер -ffunction-sections линкер --gc-sections ну и, похоже, все что было до main выкинулось.  Кстати если не пробывали скомпилить с этими опциями побробуйте если не влом - интересно заработает сгенерированный таким образом код или нет. У меня сейчас под рукой 1.6 нет.
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Dec 1 2006, 13:18
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(SpiritDance @ Dec 1 2006, 14:28)  Дак я тоже кроссворкскавский продефайнил, но только то что касается железа да и какой нибудь .global ведь в h-файл не засунешь. А то проблема то вот в чем была поменял я значит энтри поинт на main и вроде все работало пока я не попробывал выкинуть лишний код из проекта, т.е. добавить опции Цитата компилер -ffunction-sections линкер --gc-sections
ну и, похоже, все что было до main выкинулось.  Кстати если не пробывали скомпилить с этими опциями побробуйте если не влом - интересно заработает сгенерированный таким образом код или нет. У меня сейчас под рукой 1.6 нет. Ничё я не понял. До мэйна спартап и crt, какой смысел их выкидывать? И чё после этого в проекте осталось? Ни векторов ресета/прерывания/абортов и т.д. Ни инициализции стека, глобальных переменных в RAM, регистров проца. Ни вызовов конструкторов глобальных объектов для C++.
|
|
|
|
|
Dec 1 2006, 14:34
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(SpiritDance @ Dec 1 2006, 15:49)  Обычно линкер gcc поступает как хомяк - захомячивает в прошивку весь код который накомпилирует компилятор - это уже проверено и проверить это легко. С этими опциями он должен вести себя как нормальный, то есть компоновать только реально исполняющийся код - вот это-то и нужно проверить. Экспериментировать некогда, но насколько я понимаю для "обычного" случая неделимой единицей считается объектник. Статические либы есть набор объектников. И именно поэтому исходники многих стандартных либ зачастую содержат по одной функции на файл. Линкер же включает только используемые объектники.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|