Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почему Silabs не создает файл для загрузки
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
mpavela2011
Почему Silabs не создает файл для загрузки, как его правильно настроить ?
demiurg_spb
Silabs - это фирма, выпускающая всяко-разно...
У них что свой компилятор имеется?
О чём вообще речь?
Назовите среду разработки, тип таргета и даже тестовый пример можете приатачить.
DpInRock
Нет, создает. Ничего настраивать не требуется.
mpavela2011
среда = Silicon Laboratories Ide
Пишет что нет OMF файла

Invoking project defined assembler.
C:\Program Files\Cygnal\IDEfiles\C51\BIN\a51.exe "PRIM_ADC.asm" XR GEN DB EP NOMOD51


A51 MACRO ASSEMBLER V6.14a - SN: Cygnal_8051Fxxx
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2001

ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)

one_eight_seven
Если у вас Silicon Laboratories IDE, то надо зайти в Project->Target Build Configuration, после чего поставить галочку напротив пункта Generate hex file.
Очевидно же, да?
barabek
Цитата(mpavela2011 @ Mar 15 2011, 15:25) *
среда = Silicon Laboratories Ide
...

ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)


А приведите весь лог. И еще - в Progect->target build... все пути правильные выставлены на ассемблер/компилер/линкер? И есть ли они действительно у Вас
mpavela2011
теперь все компилится и шьется, теперь другая проблема, пытаюсь вывести через порт P1.6 логическую единицу - ничего не получается


$INCLUDE(C8051F120.INC) ;
org 100H ;
mov P1MDOUT,#11111111B ;
mov XBR2,#44h ;
setb p1.6 ;
end

какие файлы должны лежать в папке пректа Header Files, а какие в Sourse Files ?

этот asm файл сейчас лежит в папке Sourse Files

товарищи, что я не так делаю, в пошаговом режиме после команды mov XBR2,#44h отладчик кажет что XBR2 = 00
barabek
Цитата(mpavela2011 @ Mar 15 2011, 17:43) *
товарищи, что я не так делаю, в пошаговом режиме после команды mov XBR2,#44h отладчик кажет что XBR2 = 00


Небось вотчдог - то не выключили?





mpavela2011
barabek при чем тут вотчдог, я хочу тупо заслать в XBR2 #44H
barabek
Цитата(mpavela2011 @ Mar 15 2011, 18:02) *
barabek при чем тут вотчдог, я хочу тупо заслать в XBR2 #44H


Точно не сбросил! Вы можете что угодно и куда угодно записывать, но как приходит время вотчдога он все сбрасывает на исходное. На то он и вотчдог (то-бишь - собака sm.gif)
Для достоверности моего предположения - посмотрите источник сброса. Состояние RSTSRC
mpavela2011
в какой вкладке го смотреть ?

в какой вкладке его смотреть ?

view - debag window - дальше

Я вотчдог запретил - все равно безрезультатно



$INCLUDE(C8051F120.INC) ;
org 100H ;

; запрет вотчдога
CLR EA ;
MOV WDTCN,#0DEh ;
MOV WDTCN,#0ADh ;
SETB EA ;


mov P1MDOUT,#11111111B ;
mov XBR2,#44h ;
setb p1.6 ;
end

barabek как посмотреть Состояние RSTSRC

нашел Состояние RSTSRC = 08

barabek подскажи что за фигня ?

отладчик кажет что WDTCN = 17 хотя должно быть AD ????
можете у себя проверить мою прогу ?
barabek
Цитата(mpavela2011 @ Mar 15 2011, 18:43) *
в какой вкладке го смотреть ?

в какой ...

Я уже ушел с работы, поэтому не в сети. Зато за время моего отсутствия Вы многое уже сами расковыряли.

У себя проверить не могу. Именно такого камня нет. В других, что используем, вотчдог по-другому реализован.


При чтении, я так понял, у Вас и не должно быть ADh. Это не простой регистр, в который что записываем, то и считываем. Но вот то что у Вас 1 в четвертом бите - плохо, значит не отключися. Может дело в:
Цитата
The writes of 0xDE and 0xAD must occur within 4 clock cycles of each other, or the disable operation is
ignored. This means that the prefetch engine should be enabled



Ан, нет. Он по умолчанию разрешен.

И это, давно с асмом не связывался. Разве не та должно быть.

Код
$INCLUDE(C8051F120.INC);
org 0;
jmp main;
org 100;
main:

бла-бла-бла, клеар еа
mpavela2011
barabek, я сделал все так как ты написал, в пошаговом режиме я делаю точку останова на команде mov XBR2,#44h ; и потом смотрю что мне показывает отладчик а он мне показывает что XBR2 = 00, как это может быть отлаживаюсь на купленной EVAL BOARD ...

сейчас RSTSRC = 01
barabek
Цитата(mpavela2011 @ Mar 15 2011, 20:58) *
сейчас RSTSRC = 01


Ну вот, уже кое что.

Я не разу не работал с silabs камнями с несколькими страницами SFR. Поэтому дам очень вредный совет ( ИМХО сперва нужно разобраться со всеми тонкостями, а только потом пользоваться подобными средствами) - можете проверять свой код инициализации в ConfigWizard (скачивается с родного сайта). Так вот он выдал:

Код
Port_IO_Init:


    mov  SFRPAGE,   #CONFIG_PAGE;<- Может ЭТО?
    mov  XBR2,      #044h
    ret
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.