|
Hi-Tech PRO PIC10/12/16 V9.65PL1 & PCLATH |
|
|
|
 |
Ответов
|
Dec 4 2009, 14:35
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(ViKo @ Dec 3 2009, 17:45)  Что сделать, чтобы компилятор не сбрасывал биты выбора страниц памяти в PCLATH Предложите htsoft'у 100% алгоритм определения при компиляции Цитата там, где не надо и они с удовольствием его реализуют. Пока их компиляторы для пиков перед вызовом функций безусловно устанавливают PCLATH на требуемую страницу. Зачем? Из-за ограничений архитектуры мелких пиков. Посмотрите, во что развернётся обращение к const или к (*)(), если объект обращения живёт на другой странице. Вы таким не пользуетесь? А кому-то оно надо.
|
|
|
|
|
Dec 4 2009, 15:58
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(xemul @ Dec 4 2009, 16:35)  Предложите htsoft'у 100% алгоритм определения при компиляции и они с удовольствием его реализуют. А как я, программируя на ассемблере, всегда знал, на какой странице нахожусь? Нужно пробежаться по коду еще раз и посмотреть, где находишься при вызове (переходе), в каком состоянии PCLATH и в каком он должен быть для вызова (перехода). А может быть, и не нужно "еще раз...", а сразу при генерации кода (как это делается - не в моей компетенции). Точно нельзя какую-нибудь опцию подправить, чтоб было, как хочу?
|
|
|
|
|
Dec 4 2009, 16:32
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(ViKo @ Dec 4 2009, 18:58)  А как я, программируя на ассемблере, всегда знал, на какой странице нахожусь? Нужно пробежаться по коду еще раз и посмотреть, где находишься при вызове (переходе), в каком состоянии PCLATH и в каком он должен быть для вызова (перехода). А может быть, и не нужно "еще раз...", а сразу при генерации кода (как это делается - не в моей компетенции). "Не читал, но осуждаю." Архитектура мелких пиков очень неудобна для оптимизирующих компиляторов организацией и памяти программ, и памяти данных, и способами адресации. "где находишься при вызове (переходе)" компилятору вообще должно быть неинтересно - это проблема линкера, но из-за особенностей архитектуры ему приходится думать о каком-то PCLATH. Поэтому и компиляторов под них чуть да ничего. А вменяемых компиляторов ещё меньше. Цитата Точно нельзя какую-нибудь опцию подправить, чтоб было, как хочу?  Пока нет. Точно. Может когда-нить htsoft и допилит Omniscient Code Generation TM до состояния, когда качество его кода начнёт устраивать мастеров ассемблера, но, имхо, мелкие пики отомрут раньше.
|
|
|
|
|
Dec 7 2009, 10:25
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Мое мнение - семейства PIC10/12/16 не блещут производительностью по сравнению с AVR, например. Выбирая сейчас, может быть я выбрал бы микроконтроллеры Atmel. Но, во-первых - привык к PIC, знаю их в совершенстве (и команд мало, легко запомнить, и средства программирования мне кажутся удобными и доступными). Во-вторых, не доверяю фирме Atmel с их глюками в железе и документации (личное субъективное мнение, отстаивать не буду). В мире есть много интересных микроконтроллеров, но там, где можно, я буду применять PIC10/12/16, возможно PIC18. А там где нельзя - STM32, например (опять же, субъективный выбор, не настаиваю на правильности). В-общем, что любить или не любить - личное дело каждого.
|
|
|
|
Сообщений в этой теме
ViKo Hi-Tech PRO PIC10/12/16 V9.65PL1 & PCLATH Dec 3 2009, 14:45 Herz А в чём проблема? Dec 3 2009, 19:10 ViKo Цитата(Herz @ Dec 3 2009, 21:10) А в чём ... Dec 4 2009, 09:03  Herz Цитата(ViKo @ Dec 4 2009, 11:03) Проблем ... Dec 4 2009, 09:18   ViKo Цитата(Herz @ Dec 4 2009, 11:18) программ... Dec 4 2009, 09:33    Herz Цитата(ViKo @ Dec 4 2009, 11:33) Мне боль... Dec 4 2009, 13:32     Herz Цитата(ViKo @ Dec 7 2009, 12:25) В-общем,... Dec 7 2009, 11:10 ViKo А вот гляньте на следующий код! Та же программ... Mar 19 2010, 08:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|