реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> AT91RM9200 - разбиение кода на быструю и медленную части, SDRAM и внутренняя SRAM
aaarrr
сообщение Nov 12 2008, 14:07
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Antokha @ Nov 12 2008, 16:00) *
Что я делаю неправильно?


Цитата(Antokha @ Nov 12 2008, 16:00) *
sections // 1
DCD 0x21F00800 ; _SDRAM_READ_ Section 00000000; Flash
DCD 0x21F03FFF ; 00100000
DCD 0xC ; 2_1100 ; wb, buffered
// c03fc000
DCD 0x21F04000 ; c0000000 ; SDRAM Page 0 - _SDRAM_WRITE_ Section
DCD 0x21F04FFF ; c0400000
DCD 0xC ; 2_1100 ; wb, buffered

Здесь выброшен маркер конца таблицы (DCD 0x01), что у Вас в TT оказалось - неизвестно.

Цитата(Antokha @ Nov 12 2008, 16:00) *
POP {LR}
POP {R7}
POP {R6}
POP {R5}
POP {R4}
POP {R3}
POP {R2}
POP {R1}
POP {R0}

Лучше грузить на стек и выгружать регистры скопом, а не по одному.
Go to the top of the page
 
+Quote Post
DamienRice
сообщение Nov 12 2008, 14:50
Сообщение #47





Группа: Новичок
Сообщений: 1
Регистрация: 13-05-08
Пользователь №: 37 480



Привет. На сколько я помню я делал отдельный сегмент кода в внутреней памяти, потом писал к функции приставку - разместить код туда.
Go to the top of the page
 
+Quote Post
Antokha
сообщение Nov 12 2008, 20:15
Сообщение #48


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-08
Из: Нижний Новгород
Пользователь №: 41 078



Цитата(DamienRice @ Nov 12 2008, 17:50) *
Привет. На сколько я помню я делал отдельный сегмент кода в внутреней памяти, потом писал к функции приставку - разместить код туда.

Я уже тоже думаю сделать примерно также. Но вариант с кэшем надо проработать до логического завершенния.
Go to the top of the page
 
+Quote Post
Antokha
сообщение Nov 12 2008, 21:46
Сообщение #49


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-08
Из: Нижний Новгород
Пользователь №: 41 078



Цитата(aaarrr @ Nov 12 2008, 17:07) *
Здесь выброшен маркер конца таблицы (DCD 0x01), что у Вас в TT оказалось - неизвестно.

Другими словами, описания начала и конца сегментов, содержащих весь код программы и лежащих до маркера, недостаточно?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 13 2008, 07:03
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Должно быть:
Цитата
sections // 1
DCD 0x21F00000
DCD 0x21F10000
DCD 0xC ; 2_1100 ; wb, buffered
DCD 0x01

Размер секции должен быть кратен 1Мбайт. Имеет смысл кэшировать всю SDRAM, внутреннюю SRAM и флеш.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 13 2008, 16:13
Сообщение #51


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(aaarrr @ Nov 13 2008, 11:03) *
Должно быть:

Размер секции должен быть кратен 1Мбайт. Имеет смысл кэшировать всю SDRAM, внутреннюю SRAM и флеш.


Есть несколько но:

1. Если кешировать флэш, то из программы ничего в нее не запишешь без ухищрений.
2. Если используется DMA, то ее буфера проще организовать в некешируемой области.

Таким образом, надо подумать над тем, везде ли включать кеш.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 13 2008, 17:33
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sergeeff @ Nov 13 2008, 19:13) *
1. Если кешировать флэш, то из программы ничего в нее не запишешь без ухищрений.

Ну, это особый случай, а все "ухищрения" сводятся к отключению кэша на время записи.

Цитата(sergeeff @ Nov 13 2008, 19:13) *
2. Если используется DMA, то ее буфера проще организовать в некешируемой области.

...а если DMA работает только на вывод, то имеет смысл использовать write-through.

Цитата(sergeeff @ Nov 13 2008, 19:13) *
Таким образом, надо подумать над тем, везде ли включать кеш.

Да, думать нужно всегда smile.gif
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01429 секунд с 7
ELECTRONIX ©2004-2016