Autor Tema: ¿Como cargar programa en dsPIC30F4013 usando Bootloader de ingenia?  (Leído 2898 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado agauss

  • PIC16
  • ***
  • Mensajes: 147
Pues resulta que he podido compilar y cargar exitosamente el bootloader de ingenia para el dsPIC30F4013 usando un crystal de 4MHz. Al conectar el chip a la PC a traves del puerto serie COM1, el firm asi como el dsPIC son reconocidos perfectamente. Al cargar el programa a la interface y luego al dsPIC todo marcha bien (sin errores aparentes). El problema esta en que el chip sobre la tablilla no hace nada en absoluto. El programa que estoy tratando de hacer funcionar simplemente hace destellar un LED situado en el RB0 a un tiempo determinado. Lo que creo es que tal vez me hace falta agregar alguna linea o lineas adicionales; como es el caso del boot para el PIC16F877A Screamer v1.2, que requiere de la adicion de las siguientes lineas al inicio del programa (caso ensamblador):

Código: [Seleccionar]
org 0x00
goto inicio

org 0x04
goto rsi

org 0x05

inicio: .
.
.
.

He leido el documento de ingenia sobre su firm pero no indica que hay que hacer algo parecido. Ademas, me pregunto tembien si este firm admite programas compilados en cualquier lenguaje (ASM30, PICC, MikroC dsPIC), especifcamente yo estoy interesado en PICC.

El programa que trato de cargar es este:

Código: [Seleccionar]
.equ __30F4013,1
.include "p30f4013.inc"

.global __reset
.global __AddressError
.global __OscillatorFail

config __FWDT, WDT_OFF
config __FGS, CODE_PROT_OFF
config __FOSC, CSW_FSCM_OFF & XT
config __FBORPOR, PBOR_OFF & BORV_27 & PWRT_16 & MCLR_EN


.section .nbss, bss, near
.space 4

.equ PDelT0,#0x0800
.equ PDelT1,#0x0802


.text

__AddressError:  

bset LATD,#0
bra __AddressError

__OscillatorFail:

bset LATD,#0
bra __OscillatorFail


.text

__reset: mov #__SP_init,W15
mov #__SPLIM_init,W0
mov W0,SPLIM
nop

mov #0xFFFE,W0
mov W0,TRISB
mov #0xFFFF,W0
mov W0,ADPCFG
mov #0xFFFE,W0
mov W0,TRISD

mov #0x0000,W0
mov W0,LATB
mov W0,LATD

main: mov.b #0x01,W0
mov W0,LATB
nop
call T500ms

mov.b #0x00,W0
mov W0,LATB
nop
call T500ms

bra main


T500ms: mov #0x2710,W1
mov W1,PDelT1
DLoop0: mov #0x0009,W1
mov W1,PDelT0

DLoop1: nop

dec PDelT0
btss SR,#01
bra DLoop1

dec PDelT1
  btss SR,#01
bra DLoop0

return


.end

Si alguien a logrado cargar programas en otros lenguajes de programacion (no tiene que ser exclusivamente ASM30), pordrian indicarme que estoy haciendo mal. Pues bien compañeros, espero sus valiosas contribuciones. Un saludo...
No es el conocimiento, sino el acto de aprendizaje, y no la posesión, sino el acto de llegar allí, que concede el mayor disfrute.
"Carl Friedrich Gauss"

El tacto es el arte de hacer un punto sin hacer un enemigo.
"Isaac Newton"

Desconectado agauss

  • PIC16
  • ***
  • Mensajes: 147
Re: ¿Como cargar programa en dsPIC30F4013 usando Bootloader de ingenia?
« Respuesta #1 en: 09 de Mayo de 2012, 00:56:38 »
He seguido leyendo e investigando un poco y, foreando por la red encontre que el programa de usuario debe iniciarce sobre la direccion 0x0100, algo asi:

Código: [Seleccionar]
.org #0x0100

.
.
.

Pero nuevamente al cargar el programa al dsPIC este no hace nada. El soft cargador de ingenia esta funcionando correctamente ya que no me arroja ningun error por comunicacion o por invasion de memoria ocupada por el firm, ademas todos los programas que estado probando (incluyendo el de hacer destellar un LED) funcionan perfectamente cargados de manera convencional (ICSP), y no solo los realizados en ensamblador (ASM30) tambien tengo varios ejemplillos hechos en PICC y MikroC, asi que el problema no esta en el codigo de usuario. Debo estar omitiendo algo y el caso es que sigo sin dar pie con bola. Espero sus aportaciones compañeros.

Saludos...
No es el conocimiento, sino el acto de aprendizaje, y no la posesión, sino el acto de llegar allí, que concede el mayor disfrute.
"Carl Friedrich Gauss"

El tacto es el arte de hacer un punto sin hacer un enemigo.
"Isaac Newton"

Desconectado agauss

  • PIC16
  • ***
  • Mensajes: 147
Re: ¿Como cargar programa en dsPIC30F4013 usando Bootloader de ingenia?
« Respuesta #2 en: 10 de Mayo de 2012, 11:57:37 »
Por fin problema resuelto. Hasta la proxima y gracias!!!

Saludos...
No es el conocimiento, sino el acto de aprendizaje, y no la posesión, sino el acto de llegar allí, que concede el mayor disfrute.
"Carl Friedrich Gauss"

El tacto es el arte de hacer un punto sin hacer un enemigo.
"Isaac Newton"


 

anything