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

Уже было сделано, и даже переделано:)

__pgm заменили позже на __flash

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


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

Уже было сделано, и даже переделано :)

__pgm заменили позже на __flash

возможно, я вместо двух подчеркиваний делал одно... проверю :)

 

а вообще, мне понравилась новая сборка: колупаюсь тут с проектом на тини13, так простой переход на эту версию сразу дал выигрыш по флешу больше 80 байтов! правда почему-то эту сборку не полюбила AVR Studio 4.18.

 

добавлено в 12:33.

проверил: не работает __flash, без ошибок компилится __pgm, но результат как-то не радует... обращаюсь к массиву структур во flash, так компилятор генерирует загадочный код:

static

uint8_t load_color(uint8_t i){

//__pgm const FIX_COLOR *ptr = &fix_colors;

uint8_t tmp = fix_colors.mode;

c0: 90 e0 ldi r25, 0x00 ; 0

c2: 66 e0 ldi r22, 0x06 ; 6

c4: 70 e0 ldi r23, 0x00 ; 0

c6: 8b d1 rcall .+790 ; 0x3de <__mulhi3>

c8: ac 01 movw r20, r24

ca: 4c 5e subi r20, 0xEC ; 236

cc: 5f 4f sbci r21, 0xFF ; 255

ce: fa 01 movw r30, r20

d0: 84 91 lpm r24, Z

if(tmp == MODE_FIXED){

d2: 81 30 cpi r24, 0x01 ; 1

d4: 99 f4 brne .+38 ; 0xfc <load_color+0x3c>

r = fix_colors.r;

d6: 9a 01 movw r18, r20

d8: 2d 5f subi r18, 0xFD ; 253

da: 3f 4f sbci r19, 0xFF ; 255

dc: f9 01 movw r30, r18

de: 94 91 lpm r25, Z

e0: 90 93 68 00 sts 0x0068, r25

g = fix_colors.g;

e4: 9a 01 movw r18, r20

e6: 2c 5f subi r18, 0xFC ; 252

e8: 3f 4f sbci r19, 0xFF ; 255

ea: f9 01 movw r30, r18

ec: 94 91 lpm r25, Z

ee: 90 93 69 00 sts 0x0069, r25

b = fix_colors.b;

f2: fa 01 movw r30, r20

f4: 35 96 adiw r30, 0x05 ; 5

f6: 94 91 lpm r25, Z

f8: 90 93 6a 00 sts 0x006A, r25

}

return tmp;

}

fc: 08 95 ret

очевидно ведь, что все данные в структуре хранятся последовательно и можно просто последовательно увеличивать Z на 2 или 1 - а лепится код вычисления с пересылками :( и только в самом последнем обращении использована команда adiw

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


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

Помогите со сборкой для процессора 1890вм2т(mips, komdiv32), язык си и ассемблер, ОС: opensuse12.1, для R3000 сборка есть.

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

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


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

Помогите со сборкой для процессора 1890вм2т(mips, komdiv32), язык си и ассемблер, ОС: opensuse12.1, для R3000 сборка есть.

посмотрите выше по постам - я уже собирал и выкладывал

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


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

[quote name='klen' date='Mar 28 2012, 18:08' post='1042884'.....посмотрите выше по постам - я уже собирал и выкладывал

я уже скачивал, пишет не могу запустить бинарный файл. Самому хочется собрать, хотя бы скажите какие дополнительные аргументы комдиву в отличие от r3000.

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


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

[quote name='klen' date='Mar 28 2012, 18:08' post='1042884'.....посмотрите выше по постам - я уже собирал и выкладывал

я уже скачивал, пишет не могу запустить бинарный файл. Самому хочется собрать, хотя бы скажите какие дополнительные аргументы комдиву в отличие от r3000.

сборка 64 битная кажется была. иначе бы бинарники бы исполнялисьбы.

по поводу самостоятельной сборки http://gcc.gnu.org/install/index.html

комдиву никаких дополнительных ключей быть не может - ядро такоеже как и у r3000 - компилятор для ядра код генерит ане для конкретной микросхемы. в НИИСИшной реализации r3000+обвязка есть ошибки и гдюки или назовем это особенностями .. по этому вопросу к чипмейкеу - НИИСИ РАН, но они ничего не дадут, я пробы вал. патчи к старым версиям компиллера и обрывки информации которые потребители вытрясли из НИИСИ нада брать у этих несчастных. эти патчи можно перепортировать на текщий код gcc. если бы ядро было бы сделано точной копией r3000 то вообще проблем небыло бы. я так понимаю суть вопроса. считаю комдив в техническом контексте мертвым проектом - инфа закрыта, цена микросхемы ~70т.р. серийное производство под вопросом, те несчастные с котоорыми общался - говорили что это все под застав навязано и им приходися костылями заставлять его работать, я думаю дело не в ядре а втом как там в нутри шины и шинная матрица работают (возможно это самодельная часть устройства)- это может влиять на работу конвеера ядра, на задерки и затыки.

я могу во всем что я написал оошибатся. если есть знающие комдив близко - рад буду почитать описание ситуации с комдивом достоверно. хотя интерес медленно угасает.

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


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

сборка 64 битная кажется была. иначе бы бинарники бы исполнялисьбы.

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

 

На счет бесперспективности процессора, у нас для космоса больше ничего нет. Скоро 5890... выйдет, тот же 1890вм2т но с тройным резервированием в камне и очень хорошей радстойкостью, очень нужная вещь.

А для земли и тем более домашнего использования, понятно что проц абсолютно бесперспективен(разве только для военки).

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


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

свежий OpenOCD собраный с поддержкой STLink-v1/2

win64:

http://klen.org/Files/DevTools/x86_64-kgp-...0120217.tar.bz2

Не запускается, пишет "ошибка при запуске приложения". (Win 7 Pro 64)

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


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

Не запускается, пишет "ошибка при запуске приложения". (Win 7 Pro 64)

еще чегонить пишет?

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


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

Ошибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку "OK".

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


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

свежак для армов

хост linux64

http://klen.org/Files/DevTools/linux-x86_6..._64-20120117.7z

для линукса пишет - нот фаунд. прошелся еще по нескольким более ранним ссылкам - тоже самое, ссылки в никуда :(

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


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

для линукса пишет - нот фаунд. прошелся еще по нескольким более ранним ссылкам - тоже самое, ссылки в никуда :(

старье чуток пдчистил. на выходных постараюсь выложить свежак. уж для линуха точно - обновил вчера, потестю и выложу.

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


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

И openocd, пожалуйста (win/linux, с поддержкой stlink). Вдруг у меня новый заработает:)

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


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

старье чуток пдчистил. на выходных постараюсь выложить свежак. уж для линуха точно - обновил вчера, потестю и выложу.

 

win32 host - arm target, avr target... если не сложно!

ПОльзуюсь

arm-kgp-eabi-gcc.EXE (Klen's GNU package (KGP) for ARM/elf platform) 4.7.0 20110618 (experimental)

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


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

старье чуток пдчистил. на выходных постараюсь выложить свежак. уж для линуха точно - обновил вчера, потестю и выложу.

Ок. Спасибо. Ради этих библиотек поставил ubuntu 64. до этого сидел под 32ой :)

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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