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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как не звать __aeabi_idiv и иже сними?
kosyak©
сообщение Dec 10 2010, 10:04
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966



Ладно - цитирую мануал:

User Configurable Page Size
– 256-Bytes per Page
– 264-Bytes per Page
– Page Size Can Be Factory Pre-configured for 256-Bytes

Не предлагайте мне сконфигурировать микросхему чтоб размер страницы стал кратен степени 2! как это сделать я знаю сам!
Прочитайте еще раз название темы... и забудте Вы про конкретное применение этого кода!
Еще раз, специально для Вас ув. MALLOY2, Как заставить компилятор IAR EWARM6101 инлайнить функции вида __aeabi_idiv?


Эх...не успел... предложили сконфигурировать в степень двойки sad.gif((
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Dec 10 2010, 10:15
Сообщение #17


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Создаем проблемы и героически их решаем sm.gif
Вы знаете когда размер страницы равен 528 байт, то страница всен равно хранит 512 байт информации и остаток используется для контрольной суммы и/или востановления информации. Если вы хотите использовать 528 для линейной адресации, подход явно через...
Go to the top of the page
 
+Quote Post
kosyak©
сообщение Dec 10 2010, 10:20
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966



Ну...еще раз скажу - вопрос не про конкретное применение операции деления!

Цитата(MALLOY2 @ Dec 10 2010, 13:15) *
...
когда размер страницы равен 528 байт, то страница всен равно хранит 512 байт информации и остаток используется для контрольной суммы и/или востановления информации
...


О_о кем используется остаток? Как "все равно" хранит 512 байт? Это сейчас о чем?
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 10 2010, 10:42
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Согласен, что случай, когда код прошивки флэш должен быть в ОЗУ, весьма актуален. Насколько я знаю, у компилятора нет настроек, позволяющих гарантировать, что кусок кода, скопированный в ОЗУ, не будет вызывать функции из флэш. Можно, конечно, подрихтовать код "ручками", но нет гарантии, что при переходе на новую версию компилятора или при смене его настроек не придётся рихтовать код снова. Чтобы это гарантировать, нужно оформить код в ОЗУ как самостоятельный проект, полностью размещённый в ОЗУ. Для связи с основной прошивкой можно придумать простенький ABI: таблица указателей на функции. Забыл добавить: или писать код в ОЗУ на ассемблере.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Dec 11 2010, 21:08
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



QUOTE (kosyak© @ Dec 9 2010, 15:59) *
Есть код
...
Как заставить его не использовать __aeabi_idiv?

Ну, например, можно сделать так
CODE
#define D 100
#define K 11
#define Q D/K
...
    volatile int d = D;
    volatile int k = K;
    volatile int q = Q;
...
Или нет?

Сообщение отредактировал IgorKossak - Dec 11 2010, 22:15
Причина редактирования: Лишнее цитирование
Go to the top of the page
 
+Quote Post

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

 


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


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