Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 29.09.2008, 18:59   #1
Жан_0xC2
Junior Member
 
Регистрация: 29.09.2008
Сообщений: 1
Вес репутации: 100/0
Жан_0xC2 will become famous soon enoughЖан_0xC2 will become famous soon enough
По умолчанию Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Все равно что... Желательно с расписанными векторами прерываний, ну и немного кода, если будет пример работы с памятью совсем хорошо.
Жан_0xC2 вне форума   Ответить с цитированием
Старый 29.09.2008, 19:28   #2
Илья
Senior Member
 
Регистрация: 26.02.2007
Адрес: SPb
Сообщений: 1,212
Вес репутации: 1775/78
Илья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant future
По умолчанию Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Цитата:
Сообщение от Жан_0xC2 Посмотреть сообщение
Все равно что... Желательно с расписанными векторами прерываний, ну и немного кода, если будет пример работы с памятью совсем хорошо.
www.microchip.com/codeexamples
Илья вне форума   Ответить с цитированием
Старый 29.09.2008, 19:47   #3
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Рекомендую так же скачать с офф. сайта пдф-ки по директивам ассемблера, линкера. Даташит на все семейство dsPIC. И доку по инструкциям проца, там примеры рассмотрены. Точно названия не помню. Ссылок дать не могу сейчас( только через неделю), пишу с мобильника. Но их не сложно найти.
Machine slave вне форума   Ответить с цитированием
Старый 29.09.2008, 21:27   #4
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Вот названия док. "dsPIC30/33 Programmers reference manual" и "MPLAB ASM30, MPLAB LINK30 and Utilities User guide". Найти просто, вводишь в строке поиска dsPIC30F4013. И на страничке с описанием все эти доки есть.
Machine slave вне форума   Ответить с цитированием
Старый 29.09.2008, 22:21   #5
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 58
Сообщений: 2,884
Вес репутации: 3992/111
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

...тама...

...тута...

...здеся...
HHIMERA вне форума   Ответить с цитированием
Старый 01.06.2011, 15:13   #6
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Взялся за dspic30f2010. Использую MPLAB 8.66 c ASM 30 v3.30.
Обидно, что который день не могу стартануть.
1. Не понимаю как используя лексику ASM 30 прописать конфигурацию. Ругается на
всевозможные варианты директивы config. Даже если задать конфигурацию через меню в MPLAB , то ее все равно в коде не наблюдается.
2. Как сделать так, чтобы в 0-й ячейке к уже прописаному там оператору goto присобачилась метка на нужный мне адресс, ну скажем 0х0200. А то в режиме симуляции там все и останавливается, ну и в пике код аналогичный.
autolomaster вне форума   Ответить с цитированием
Старый 01.06.2011, 15:18   #7
LeoN
Senior Member
 
Аватар для LeoN
 
Регистрация: 12.03.2007
Адрес: Оренбургская обл.
Сообщений: 162
Вес репутации: 116/51
LeoN will become famous soon enoughLeoN will become famous soon enough
По умолчанию Re: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Отличная подборка!!!
LeoN вне форума   Ответить с цитированием
Старый 01.06.2011, 15:51   #8
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Цитата:
Сообщение от autolomaster Посмотреть сообщение
1. Не понимаю как используя лексику ASM 30 прописать конфигурацию. Ругается на
всевозможные варианты директивы config. Даже если задать конфигурацию через меню в MPLAB , то ее все равно в коде не наблюдается.
2. Как сделать так, чтобы в 0-й ячейке к уже прописаному там оператору goto присобачилась метка на нужный мне адресс, ну скажем 0х0200. А то в режиме симуляции там все и останавливается, ну и в пике код аналогичный.
1. Конфиг прописывается так:
Код:
config __FOSC HS & PRI & CSW_FSCM_ON;
См. файл p30f2010.inc конец там указана возможная конфигурация.

2. Зачем? Вообще это делается через скрипт линкера.
Код:
.global __reset

__reset:
код
.end
C метки __reset начнется выполнение программы.
Machine slave вне форума   Ответить с цитированием
Старый 01.06.2011, 17:09   #9
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Спасибо.
С первым пунктом я нашел ошибку , перед инклюдом у меня стояла #, а не точка , вот он и ругался на синтаксис config.
Со вторым все понятно и не понятно, я так уже раньше пробовал, но в нулевой ячейке сидит код 040000, и не меняется , и в симуляторе после сброса все шаги там и остаются.
autolomaster вне форума   Ответить с цитированием
Старый 01.06.2011, 17:16   #10
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Цитата:
Сообщение от autolomaster Посмотреть сообщение
Со вторым все понятно и не понятно, я так уже раньше пробовал, но в нулевой ячейке сидит код 040000, и не меняется , и в симуляторе после сброса все шаги там и остаются.
Скрипт линкера подключен?
Код в студию!
Machine slave вне форума   Ответить с цитированием
Старый 01.06.2011, 17:56   #11
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Что-то линкер не клеиться.
autolomaster вне форума   Ответить с цитированием
Старый 01.06.2011, 18:46   #12
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Уберите .include "p30f2010.gld", это не надо. Скрипт только к проекту должен быть подключен(окно Project).
Machine slave вне форума   Ответить с цитированием
Старый 01.06.2011, 21:58   #13
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

В принципе изначально у меня его там не было, это я поставил по совету товарищей и, наверное, по недопониманию.
Судя по картинке и аналоги с MPASM в окне Program memory по адресу 0 не должно быть пустого goto. Он такой же пустой (в смысле никуда или туда же в 0 " opcode 040000") и в .hex файле в окне программатора ну и соответственно в пике.
autolomaster вне форума   Ответить с цитированием
Старый 01.06.2011, 23:09   #14
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Кхм. Я даже не знаю. У меня все нормально. Прикрепите проект, гляну.
Еще фрагмент из скрипта линкера можно привести вот этот:
Код:
 /*
  ** Reset Instruction
  */
  .reset __RESET_BASE :
  {
        SHORT(ABSOLUTE(__reset));
        SHORT(0x04);
        SHORT((ABSOLUTE(__reset) >> 16) & 0x7F);
        SHORT(0);
  } >reset
Должно быть так.
Machine slave вне форума   Ответить с цитированием
Старый 02.06.2011, 00:05   #15
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

В моем файле скрипта линкера немного не так:
Код:


  /*
  ** Reset Instruction
  */
  .reset :
  {
        SHORT(ABSOLUTE(__reset));
        SHORT(0x04);
        SHORT((ABSOLUTE(__reset) >> 16) & 0x7F);
        SHORT(0);
  } >reset
autolomaster вне форума   Ответить с цитированием
Старый 02.06.2011, 00:27   #16
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Все получилось, нашел другой файл скрипта, теперь в нулевой ячейке goto _reset
autolomaster вне форума   Ответить с цитированием
Старый 03.06.2011, 21:50   #17
Velocity
Senior Member
 
Регистрация: 08.02.2008
Адрес: Moscow
Сообщений: 124
Вес репутации: 146/47
Velocity will become famous soon enoughVelocity will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Можешь что-то типа такого кода воткнуть:

Код:
;------------------------------------------------------------------------------
.psize 50
;------------------------------------------------------------------------------
; Processor Setup
;------------------------------------------------------------------------------
__30F5013      = 1

.include "p30F5013.inc"
.list
;------------------------------------------------------------------------------
; Configuration Fuses
;------------------------------------------------------------------------------
    config __FOSC, CSW_FSCM_OFF & XT_PLL16    ;Turn off clock switching and
                                              ;fail-safe clock monitoring and
                                              ;use the External Clock as the
                                              ;system clock
    config  __FWDT, WDT_OFF
    config  __FBORPOR, PBOR_ON & BORV_27 & PWRT_16 & MCLR_EN
    config  __FBS, NO_BOOT_RAM ; (0xF80006): Boot Code Segment Configuration Register
    config  __FSS, NO_SEC_CODE ; (0xF80008): Secure Code Segment Configuration Register
    config  __FGS, CODE_PROT_OFF
    config  __FICD, ICS_PGD
5013 замени на тот, который нужен и поправь конфигу так, как необходимо для конкретной установки контроллера.

Код:
;------------------------------------------------------------------------------
; Global Declarations.  Declare used ISR standard names global
;------------------------------------------------------------------------------
;.global __reset                 ; Declare main code start name global
        .global __reset          ;The label for the first line of code. 
        .global __T1Interrupt    ;Declare Timer 1 ISR name global
        .global __AddressError
        .global __StackError
        .global __MathError

/*
Reset – GOTO Instruction    000000
Reset – Target Address      000002
Osc. Fail Trap Vector       000004
Stack Error Trap Vector     000006
Address Error Trap Vector   000008
Math Error Trap Vector      00000A
Software Trap               00000C
*/
Прога начинается так:

Код:
;------------------------------------------------------------------------------
; Main Code
;------------------------------------------------------------------------------
.section        .text
__reset:
        mov     #__SP_init,w15          ; Initalize the Stack Pointer
        mov     #__SPLIM_init,w0        ; Initialize the Stack Pointer Limit Register
        mov     w0,SPLIM
        nop                             ; Add NOP to follow SPLIM initialization
        clr     PSVPAG                  ; Assume 32K limit for code space data access
        mov     #(1 << PSV)|(1 << IF)|(1 << US)|(1  << ACCSAT),w0        ; Enable Program Space Visibility,
        mov     w0,CORCON               ; select MAC unsigned integer super saturation mode


main:
......... тут пишем саму прогу ..........
Описание переменных в RAM
Код:
 ;..............................................................................
;Uninitialized variables in Near data memory (Lower 8Kb of RAM)
;..............................................................................

          .section .nbss, bss, near
          .align  2
;Char_Out: .space 2         ;Example of allocating 1 word of space for variable
WaitNum:  .space 2
CIFRA: .space 14
 CALIBRATION_START:  .space 2
Так прописываются данные eeprom для прошивки их по умолчанию вместе с софтом

Код:
  
;--------End of All Code Sections ---------------------------------------------
done:
        BRA     done              ;Place holder for last line of executed code


;Это конец программы, а дальше следуют данные для EEPROM

.section   .eedata,eedata


.word      0  ; Описание данных №1
.word      0  ; Описание данных №2
.word   1200  ; Описание данных №3
.....

; Число за .word то, что пропишется в EEPROM
Доки, которые рекомендовали выше, читать в первую очередь. Вот с этой странички кликай на конкретный продукт и будет список доков к девайсу. Не забываем прочитать ерраты .
http://www.microchip.com/ParamChartS...g=en&pageId=75

Последний раз редактировалось Velocity; 03.06.2011 в 21:54. Причина: забыл ссылку воткнуть :(
Velocity вне форума   Ответить с цитированием
Старый 03.06.2011, 23:04   #18
autolomaster
Junior Member
 
Регистрация: 27.05.2011
Адрес: Odessa
Сообщений: 7
Вес репутации: 100/0
autolomaster will become famous soon enoughautolomaster will become famous soon enough
По умолчанию Re: Ответ: Помогите, стартануть. Поделитесь примером на ASM30 для dsPIC.

Цитата:
Сообщение от Velocity Посмотреть сообщение
Доки, которые рекомендовали выше, читать в первую очередь. Вот с этой странички кликай на конкретный продукт и будет список доков к девайсу. Не забываем прочитать ерраты .
http://www.microchip.com/ParamChartS...g=en&pageId=75
Спасибо большое, воспользуюсь.
Я в, принципе, понимаю что к чему, но опыта не много. Начал в 2002 сразу с 628 и прогой на 2 кило под завязку пика, потом еще немного развлекался всякими поделками к автомобилям в основном на 629 , а теперь есть интерес dsPIC , но пока нет по ним опыта. Вобщем уже стартанул.... Спасибо !
autolomaster вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
Умноженеие 32 на 32 на dsPic kotlyara Продукция MICROCHIP 3 04.10.2007 10:34
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
Подскажите пожалуйста как на dsPic реализовать умножение 16 бит на 32 бита с результатом в 32 бита на Асме. kotlyara Продукция MICROCHIP 9 29.08.2007 10:01


Часовой пояс GMT +3, время: 17:26.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot