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

RAM -> FLASH -> trouble...

Здраствуйте снова все!

 

Помогите разобраться плз!

Ерунда какаято происходит при прошивке в FLASH

 

покаместь я ее прошиваю из линукса в RAM - все работает замечательно (В FLASH писать не могу еще - бо нет у меня линуксового программатора в флеш)

 

потом перекомпилирую эту же программу для заливки в флеш и перегрухаюсь в винду, где запускаю SAM-BA.

Прошиваю - включаю контроллер - и наблюдаю фигню...

 

Контроллер работает как попало

может перегрузиться сам, может повиснуть, может пойти по другой ветке програыы и т д

 

короче не понятно почему когда код исполняется из RAM - all OK

а из Flash - все непредсказуемо и плохо

 

контроллер - AT91SAM7S256

программа работает вся по прорыванию от системного таймера

в программе в момент сботя остальные прерывания не работают по идее

 

программа на писана на Линуксовом GCC

Я конечно не исключаю что гдето проявляется моя корявость в написании на С, но мне кажется что десь что то другое...

 

помогите плз

смотрю на программу и не вижу где корявость

сами понимаете прогу выложить не могу - бо кода много!

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


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

Скорее всего, слишком быстро пытаетесь работать из флеш.

Какая частота процессора, и что в Flash Mode Register записано?

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


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

Скорее всего, слишком быстро пытаетесь работать из флеш.

Какая частота процессора, и что в Flash Mode Register записано?

 

Думаю, если конечно ни заблудился, разничы то нет - так как работаю исключительно по таймеру - 50 раз в секунду что из RAM что из FLASH.

то что там 50Гц - я уверен точно - частотомером мерял

частото процессора 1843200Гц

 

>и что в Flash Mode Register записано?

эт где посмотреть?

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


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

...там 50Гц - я уверен точно - частотомером мерял

частото процессора 1843200Гц

 

Хм... Если Вы уверены, что частота процессора 18.432МГц, то

дело должно былть не в Wait States.

 

>и что в Flash Mode Register записано?

эт где посмотреть?

 

Смотреть в регистре MC_FMR, наверное, в стартапе.

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


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

См errata (p. 513 datasheet doc6175d.pdf, MCK: Limited Master Clock Frequency Ranges). При работе из флэш частота может быть не более 3 МГц или не менее

19 МГц

Изменено пользователем gmax

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


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

18.432 МГц - это у Вас ядро на такой частоте работает? или всё-таки тактовая берётся с PLL?

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


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

18.432 МГц - это у Вас ядро на такой частоте работает? или всё-таки тактовая берётся с PLL?

 

судя по всему ядро на такой частоте работает, так как я PLL не трогал

вероятно gmax прав

буду пробовать разгонять чип и смотреть как он себя вести будет

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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