Autor Tema: Quemar el pic18 .hex a partir de una determinada linea de la memoria  (Leído 4803 veces)

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

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Quemar el pic18 .hex a partir de una determinada linea de la memoria
« en: 29 de Noviembre de 2015, 14:04:57 »
Hola como puedo o con que sentencia le puedo decir en pic18 simulator ide que me lo grabe al archivo .hec en la memoria del pic a partir de la linea 1000 o 0x1000 en el psi si le coloco en asm al compilar me da error y la instrucción solo la se en asm?? que esta y la coloco primero que todo   ASM:reset   org 0x100 esto lo necesito porque trabajo con bootloader que me ocupa de 0x00 a 0x1000

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #1 en: 29 de Noviembre de 2015, 15:50:43 »
Citar
en el psi si le coloco en asm al compilar me da error y la instrucción solo la se en asm??

Eso no se entendio para nada.. Pero vamos por parte:

Si tenes un bootloader, entonces usas el bootloader, este te lo va a grabar desde 0x1000 en adelante, protegiendose el bootloader que se sobreescriba.
Si tenes el codigo del bootloader, entonces grabas el bootloader + programa  con cualquier grabador de PIC.

Que sentido tiene tener un bootloader si no te puede grabar el programa ?

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #2 en: 02 de Diciembre de 2015, 09:06:00 »
anterior mente me equivoque el bootloader no se borra nunca!!

El programa lo grabo sin el programador. Entro en modo bootloader me lo reconoce el pc como dispositivo de interfaz humana, con el HIDBootLoader, le cargo el archivo y quemo, aun que sea para prender y apagar un led, si le coloco la sentencia al inicio del hex ante de compilarlo (((ASM:reset   org 0x1000 ))))me funciona perfecto y el led prende y apaga, pero si no le coloco la instrucción esa el pic se pierde y no funciona, por eso necesitaba si alguien conoce en basic alguna instrucción que me le diga que si no presiono los botones del bootloader me cargue mi programa de la linea 1000
Por que no seguir usando la sentencia  ASM si funciona?  Con la sentencia asm he notado que cuando compila me tira error LookUp
I gracias de antemano KILLERJC

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #3 en: 02 de Diciembre de 2015, 09:19:53 »
Imagino que usas mikroBasic, si es eso entonces aca:

http://www.mikroe.com/download/eng/documents/compilers/mikrobasic/pro/pic/help/linker_directives.htm

Habla de :

orgall(0x1000)

Y lo que tenes no parece ser exactamente "asm" creo que para que sea asm es algo asi:

asm
   ORG 0x1000
end asm

Lo que tenes es como si fuera una etiqueta llamada ASM ubicada en 0x1000, pero no creo que todas las demas "funciones" las ubique exactamente luego de esa direccion.
El problema no es la "ubicacion", si no el link, Si tu archivo supone que tu main esta en el 0x50, entonces los saltos van a ser a la direccion 0x50, por mas que se graben en 0x1000 , y por eso no te funciona lo del led. Ya que deberia saltar a 0x1050.

Sino pone el compilador que estas usando para tratar de buscar alguna directiva que logre eso, o si alguno conoce mas te puede responder. Yo realmente poco y nada de BASIC, asi que solo puedo ofrecerte lo que encuentro en internet

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #4 en: 02 de Diciembre de 2015, 11:29:09 »

No trabajo en Basic, pero vamos que supongo que la ubicacion del objeto es independiente del lenguaje, ya que eso se calcula en el enlazado.

Yo cuando compilo en C, tengo un archivo Linker Script donde le digo al enlazador entre otras cosas en que dirección debe de ubicarme el objeto, direccion que tambien le sirve al enlazador para calcular todos los saltos.

Miralo, porque seguro que sera asi tambien en tu caso.

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #5 en: 02 de Diciembre de 2015, 19:47:08 »

No trabajo en Basic, pero vamos que supongo que la ubicacion del objeto es independiente del lenguaje, ya que eso se calcula en el enlazado.

Yo cuando compilo en C, tengo un archivo Linker Script donde le digo al enlazador entre otras cosas en que dirección debe de ubicarme el objeto, direccion que tambien le sirve al enlazador para calcular todos los saltos.

Miralo, porque seguro que sera asi tambien en tu caso.
Ya no se que hacer ir en foros de esto ni se habla

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #6 en: 02 de Diciembre de 2015, 19:49:47 »

No trabajo en Basic, pero vamos que supongo que la ubicacion del objeto es independiente del lenguaje, ya que eso se calcula en el enlazado.

Yo cuando compilo en C, tengo un archivo Linker Script donde le digo al enlazador entre otras cosas en que dirección debe de ubicarme el objeto, direccion que tambien le sirve al enlazador para calcular todos los saltos.

Miralo, porque seguro que sera asi tambien en tu caso.
Uso el PIC18 simulator ide

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #7 en: 02 de Diciembre de 2015, 20:33:52 »

No trabajo en Basic, pero vamos que supongo que la ubicacion del objeto es independiente del lenguaje, ya que eso se calcula en el enlazado.

Yo cuando compilo en C, tengo un archivo Linker Script donde le digo al enlazador entre otras cosas en que dirección debe de ubicarme el objeto, direccion que tambien le sirve al enlazador para calcular todos los saltos.

Miralo, porque seguro que sera asi tambien en tu caso.
si le coloco esta instrucción ASM: reset   org 0x1000
sin sacar el pic del bootloader y lo reseteo sin los bones presionado para que no cargue el bootloader arranca mi programa bien pero cuando lo tengo con los lookup he notado que lo compilarla con el pic18 simulator pero no funciona

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #8 en: 02 de Diciembre de 2015, 20:54:41 »
Acabo de ver el manual del compilador, y... no recomiendan usar el ORG en ASM, y ademas no posee ninguna funcion para explicitamente pedirle que arranque de una posicion de memoria exacta. Creo que no hay con que darle..

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #9 en: 03 de Diciembre de 2015, 10:09:07 »
Acabo de ver el manual del compilador, y... no recomiendan usar el ORG en ASM, y ademas no posee ninguna funcion para explicitamente pedirle que arranque de una posicion de memoria exacta. Creo que no hay con que darle..
ok y gracias, si tenes el manual del pic18 simulator ide te agradezco si me lo pasas.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #10 en: 03 de Diciembre de 2015, 10:22:37 »
Acabo de ver el manual del compilador, y... no recomiendan usar el ORG en ASM, y ademas no posee ninguna funcion para explicitamente pedirle que arranque de una posicion de memoria exacta. Creo que no hay con que darle..
ok y gracias, si tenes el manual del pic18 simulator ide te agradezco si me lo pasas.

Tal ves el primer resultado de google y fabricante del software:

http://www.oshonsoft.com/pic18basiccompilerreferencemanual.html

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #11 en: 03 de Diciembre de 2015, 11:42:07 »
Hasta la presente no he tenido la necesidad de utilizar un bootloader, en este enlace hay algo sobre el tema:
http://www.oshonsoft.com/pic18bootloader.html
Saludos desde Granada, España.

Desconectado tupungatog

  • PIC10
  • *
  • Mensajes: 8
Re:Quemar el pic18 .hex a partir de una determinada linea de la memoria
« Respuesta #12 en: 06 de Diciembre de 2015, 02:43:33 »
Hasta la presente no he tenido la necesidad de utilizar un bootloader, en este enlace hay algo sobre el tema:
http://www.oshonsoft.com/pic18bootloader.html
Muchas gracias por el link mirando el bootloader de pic18 me di cuenta que el problema lo tenia cuando escriba en ASM poniendo el reset
ASM: Reset org 0x1000 mal escrito o no funciona
ASM:   org 0x1000 asi me lo toma perfecto y puedo cargar mi .hex desde esa linea en adelante y sin programador y sin estar cambiando el pic del programador al circuito y por USB, gracias totales a todos.