|
3xSPI в небольшом корпусе, В TQFP64 или меньше? |
|
|
|
 |
Ответов
|
Dec 16 2008, 09:14
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 28-02-07
Пользователь №: 25 746

|
Цитата(sonycman @ Dec 16 2008, 06:20)  Значит, на кортексе даже не нужно прилагать особых усилий, чтобы работали вложенные прерывания? Отлично! А то, прочитав на сайте arm.com статью про NVIC, сложилось впечатление, что обработчики вызываются строго по очереди... Такое впечатление у Вас сложилось наверно из-за того, что там довольно подробно расписан механизм, позволяющий не тратить время на восстановление и сохранение контекста приложения, если обработчики перываний выполняются друг за другом. Вернее даже не только друг за другом, а ,например, если между окончанием одного обработчика и вызовом другого (случилось прерывание) прошло мало времени, тогда процессор тоже не тратит время на сохранение контекста. Вообще контроллер прерываний в кортексе очень не плох, портит его только SVC, который нельзя вызывать откуда угодно.
|
|
|
|
|
Dec 16 2008, 14:54
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(Sanek_spb @ Dec 16 2008, 13:14)  Такое впечатление у Вас сложилось наверно из-за того, что там довольно подробно расписан механизм, позволяющий не тратить время на восстановление и сохранение контекста приложения, если обработчики перываний выполняются друг за другом. Вернее даже не только друг за другом, а ,например, если между окончанием одного обработчика и вызовом другого (случилось прерывание) прошло мало времени, тогда процессор тоже не тратит время на сохранение контекста.
Вообще контроллер прерываний в кортексе очень не плох, портит его только SVC, который нельзя вызывать откуда угодно. Да, да. Ударились в описание работы tail-chaining. А я всё ждал откровений про вложенные прерывания... А что подразумевается под автоматическим сохранением контекста при возникновении исключения? Сохранение всех регистров CPU (12 штук плюс флаги состояния - больше 50-ти байт!), или только регистра состояния? Если первое, то это делается с похвальной скоростью - всего за 12 тактов! SVC - это аналог SWI в ARMv4? ЗЫ: какая разница между терминами exceptions и interrupts?
|
|
|
|
|
Dec 16 2008, 15:01
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sonycman @ Dec 16 2008, 17:54)  А что подразумевается под автоматическим сохранением контекста при возникновении исключения? Сохранение всех регистров CPU (12 штук плюс флаги состояния - больше 50-ти байт!), или только регистра состояния? Если первое, то это делается с похвальной скоростью - всего за 12 тактов! Написано же: Цитата When an exception takes place, the Program Counter, Program Status Register, Link Register and the R0-R3,R12 general purpose registers are pushed on to the stack. Т.е. 8 регистров всего.
|
|
|
|
|
Dec 16 2008, 18:22
|

Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744

|
Цитата(sonycman @ Dec 16 2008, 19:00)  Ясно Хм, но почему не сохранили остальные регистры? Все таки придётся дополнительно их сохранять...  Потому, что не так много фанатов пишут сейчас на асме, тем более на ARM, у которого асм - извращение редкостное. А компилятор с того же С эти особенности может использовать на пользу. Цитата(sonycman @ Dec 16 2008, 20:07)  когда, наконец, можно будет настраивать частоту SPI (и не только) более дискретно, а то или 18 мегабит, или сразу 9... тьфу  Интересно, как Вы это себе представляете? Отдельный PLL для SPI? Или fractional baud rate generator? Только ЗАЧЕМ?
|
|
|
|
|
Dec 16 2008, 20:19
|

Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744

|
Цитата(aaarrr @ Dec 16 2008, 21:40)   Что тогда не извращение? У ARM'а замечательно простой и понятный ассемблер. Я раньше тоже "воинствующим ассемблеристом" был, ещё на 8080 и Z80, потом на 86. Но жисть расставила всё на свои места: достаточно крупный проект непросто сделать на ассемблере, а поддерживать тем более. Про использование чужого кода я вообще молчу. Не так давно дали мне проект на 51 немного "доработать", более 12000 строк. Написано, прямо скажу, ужасно. Да и необходимости писать на ассемблере в данном случае вообще не было. Короче, разобрался с функционалом, прошелся два раза по листингу и переписал на С, получил не более 5000 строк, дополнительные функции, и примерно тот же объём двоичного кода. ЗАЧЕМ уродоваться на асме для ARM - не понимаю абсолютно. Экономить пару десятков нсек? Так всё равно один раз ножкой дёрнуть - и вся экономия коту под хвост, и улетели сотни Ваших сэкономленных наносекунд. Код ужимать? Что, не влазим в 128/256/512кБ кода? Это же ARM, это не 8051 с его 128 байт ОЗУ и 4кБ кода, там в этом конечно же был смысл. Я ни в коем случае не призываю к отказу от оптимизации. Я сам ненавижу монстров, которых порождает современное программирование, с его гигабайтами кода и гигагерцами. Я только сторонник "срединного пути"
|
|
|
|
Сообщений в этой теме
sonycman 3xSPI в небольшом корпусе Dec 13 2008, 23:57 Sanek_spb Цитата(sonycman @ Dec 14 2008, 02:57) Хоч... Dec 14 2008, 08:36 sonycman Цитата(Sanek_spb @ Dec 14 2008, 12:36) Да... Dec 14 2008, 10:25 SpiritDance Старенькие at91 имеют spi, способный работать посл... Dec 14 2008, 10:28 sonycman Цитата(SpiritDance @ Dec 14 2008, 14:28) ... Dec 14 2008, 10:32  SpiritDance Цитата(sonycman @ Dec 14 2008, 13:32) Это... Dec 14 2008, 14:10 bigarmer at91 just has one spi with several chip select.
S... Dec 14 2008, 14:40 sonycman Цитата(SpiritDance @ Dec 14 2008, 18:10) ... Dec 14 2008, 15:57  koyodza Цитата(sonycman @ Dec 14 2008, 17:57) As ... Dec 14 2008, 19:06   sonycman Цитата(koyodza @ Dec 14 2008, 23:06) По-м... Dec 14 2008, 21:01    Sanek_spb Цитата(sonycman @ Dec 15 2008, 00:01) USA... Dec 15 2008, 07:35     sonycman Цитата(SpiritDance @ Dec 15 2008, 10:34) ... Dec 15 2008, 13:26  SpiritDance Цитата(sonycman @ Dec 14 2008, 18:57) pri... Dec 15 2008, 06:34   aaarrr Цитата(SpiritDance @ Dec 15 2008, 09:34) ... Dec 15 2008, 07:28 sonycman Ещё хотел спросить про контроллер прерываний в кор... Dec 15 2008, 20:51 koyodza Цитата(sonycman @ Dec 15 2008, 22:51) Ещё... Dec 15 2008, 21:51 aaarrr Цитата(sonycman @ Dec 15 2008, 23:51) Как... Dec 15 2008, 21:52     aaarrr Цитата(sonycman @ Dec 16 2008, 20:00) Хм,... Dec 16 2008, 17:05      sonycman Цитата(aaarrr @ Dec 16 2008, 21:05) Потом... Dec 16 2008, 18:07      sonycman Цитата(koyodza @ Dec 16 2008, 22:22) Инте... Dec 16 2008, 18:46       koyodza Цитата(sonycman @ Dec 16 2008, 20:46) Ну,... Dec 16 2008, 18:59        sonycman Цитата(koyodza @ Dec 16 2008, 22:59) ЗАЧЕ... Dec 16 2008, 19:02         koyodza Цитата(sonycman @ Dec 16 2008, 21:02) Да,... Dec 16 2008, 19:12         koyodza Цитата(sonycman @ Dec 17 2008, 03:59) А ч... Dec 17 2008, 09:08          Sanek_spb Цитата(koyodza @ Dec 17 2008, 12:08) На В... Dec 17 2008, 09:21   Sanek_spb Цитата(sonycman @ Dec 16 2008, 17:54) SVC... Dec 16 2008, 16:38 aaarrr Все верно, но где Вы узрели призыв писать все на а... Dec 16 2008, 20:29 koyodza Цитата(aaarrr @ Dec 16 2008, 22:29) Все в... Dec 16 2008, 20:38 aaarrr "Понимает" и "знает в общих чертах... Dec 16 2008, 20:45 koyodza Цитата(aaarrr @ Dec 16 2008, 22:45) ... Dec 16 2008, 20:52  aaarrr Цитата(koyodza @ Dec 16 2008, 23:52) ...А... Dec 16 2008, 21:10 aaarrr Да, на "скоростное ногодрыганье" рассчит... Dec 17 2008, 09:24 sonycman Цитата(aaarrr @ Dec 17 2008, 13:24) Да, н... Dec 17 2008, 13:57  koyodza Цитата(sonycman @ Dec 17 2008, 15:57) То ... Dec 17 2008, 19:00   aaarrr Цитата(koyodza @ Dec 17 2008, 22:00) Не в... Dec 17 2008, 19:25   sonycman Цитата(koyodza @ Dec 17 2008, 23:00) Не в... Dec 18 2008, 01:43    koyodza Цитата(sonycman @ Dec 18 2008, 03:43) 2,5... Dec 18 2008, 09:19   sonycman Цитата(koyodza @ Dec 17 2008, 23:00) Цита... Dec 28 2008, 21:15    SpiritDance Цитата(sonycman @ Dec 29 2008, 00:15) или... Dec 29 2008, 11:03    koyodza Цитатанет епром, а надо изредка перезаписывать нес... Dec 31 2008, 20:07     sonycman Цитата(koyodza @ Jan 1 2009, 00:07) Этот ... Dec 31 2008, 23:18      defunct Цитата(sonycman @ Jan 1 2009, 01:18) Сейч... Jan 1 2009, 04:09       sonycman Цитата(defunct @ Jan 1 2009, 08:09) Лумин... Jan 1 2009, 10:14        defunct Цитата(sonycman @ Jan 1 2009, 12:14) Пишу... Jan 1 2009, 19:45         sonycman Цитата(defunct @ Jan 1 2009, 23:45) Там п... Jan 1 2009, 20:06 aaarrr Цитата(sonycman @ Dec 17 2008, 16:57) То ... Dec 17 2008, 14:08 sonycman Да, я уже практически определился. Буду моделирова... Dec 18 2008, 09:36 sonycman Хм, SPI в STM32 поддерживает всего два формата пер... Jan 1 2009, 17:42 sonycman Попробовал STM32 на макс. быстрое переключение пор... Jan 2 2009, 08:49 koyodza Цитата(sonycman @ Jan 2 2009, 10:49) форм... Jan 2 2009, 21:19  sonycman Цитата(koyodza @ Jan 3 2009, 01:19) Нет т... Jan 2 2009, 21:27
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|