Eduy2kk Posted August 12, 2008 Report Share Posted August 12, 2008 Bueno nuevamente aca estoy peleando con el bendito compilador de SDCC que no logro hacerlo andar, cree un directorio en el C raiz para ese fin pero alguna de las mias estare haciendo ya que no logro hacerlo compilar.Si alguien me puede dar una manito en la estructura de los directorios para el skeleton y donde tengo que poner los include y demas archivos por que debe ser que en alguno me estoy equivocando y por eso no me compila. ODIO LA MALDITA CONSOLA Y EL COMP. POR TEXTO DEL SDCC >:( >:( >:( >:( (muy enojado) Viva el CCS ;DEstoy trabajando en base al midibox64E.Bueno y sino a duras penas voy a tener que migrar al Asm que entiendo muy poco pero bueno de alguna manera tengo que sacarlo adelante. Sino tendre que reescribir partes de las librerias al C del CCS que no es 100% compatible con el ansi. >:(Como si fuera poco se me ocurre dejar de fumar justo ahora ::) entre esto y la falta de cigarillos en cualquier momento camino por el techo!!!!!.Gracias y quedo atento a cualquier empujon. Edu Quote Link to comment Share on other sites More sharing options...
nILS Posted August 12, 2008 Report Share Posted August 12, 2008 Just follow this step-by-step tutorial and it all should work as supposed to http://www.midibox.org/dokuwiki/windows_toolchain_quickstart?s=toolchain Quote Link to comment Share on other sites More sharing options...
cimo Posted August 12, 2008 Report Share Posted August 12, 2008 Just follow this step-by-step tutorial and it all should work as supposed to http://www.midibox.org/dokuwiki/windows_toolchain_quickstart?s=toolchaindisclaimer: following nILS advices could lead to master boot record erasure Quote Link to comment Share on other sites More sharing options...
nILS Posted August 13, 2008 Report Share Posted August 13, 2008 Only if it involves downloading scripts from my site and manually entering the drive name ;-) Quote Link to comment Share on other sites More sharing options...
Eduy2kk Posted August 14, 2008 Author Report Share Posted August 14, 2008 Thanks nILS Podewski for the link.Bueno ya logre instalar todo y bueno realice algunas pruebas. El problema aparece aca jejejeje!!! ;) no logro entender por el momento a que hace referencia cuando pone la palabra "__wparam" en el final de la sentencia Ej://///////////////////////////////////////////////////////////////////////////// This function is called by MIOS in the mainloop when nothing else is to do/////////////////////////////////////////////////////////////////////////////void Tick(void) __wparam{}/////////////////////////////////////////////////////////////////////////////// This function is periodically called by MIOS. The frequency has to be// initialized with MIOS_Timer_Set/////////////////////////////////////////////////////////////////////////////void Timer(void) __wparam{}Bueno todavia no lo entiendo mucho por que da muchas vueltas este C definiendo cosas que podrian estar en el header del pic pero bueno de a poco voy encaminando. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted August 15, 2008 Report Share Posted August 15, 2008 Long version:__wparam is a special, SDCC PIC16 port specific keyword. It should be used in the declaration and definition of a function as you showed above. It instructs the compiler to output ASM which will pass the first byte of the arguments to the function using the WREG register, rather than the stack (FSR1 (which is swapped in the wrapper with FSR2, so be careful if you try to access it directly)). This has the primary function of reducing argument passing overheads on functions with a single byte argument, but also has side-effects upon the use of the SDCC internal temporary registers (r0x**) and the behaviour of the optimiser, and as such it is usually handy on functions with no arguments (as above).If you're developing an app and writing custom functions, I recommend it's use... unless you are using inlines (hidden feature ;)), in which case it's mostly OK, but inlines are alpha, so I recommend you just quickly check the output to be sure.Short version:Don't mess with it :) Just leave it where you see it, and leave it out where you see it's left out.Can someone do an espanole version, please ? :) Quote Link to comment Share on other sites More sharing options...
Eduy2kk Posted August 15, 2008 Author Report Share Posted August 15, 2008 Thanks Stryd_one te entiendo perfectamente ;D, lamento no poder escribirte en ingles por que mi escritura es muy mala :-[, pero no asi mi lectura.Bueno resumiendo no es mas que algo similar al pragma que realmente a este nivel no creo que tenga mucho sentido usarla como dijo el amigo, pero me quedan 2 interrogantes primero por que la implementan a cada rato y segundo no entiendo por que al final y con esa sintaxis.Seguire investigando y probare a eliminarla ya que el compilador me lo da como error.Pregunta adicional fuera del tema: que pasa si en el programa tengo declarado 2 DIN4 y de repente uno de los 2 lo elimino del hard por que no lo uso.(obiamente apagando , desconectando y reiniciando el hard).Per ejemplo supongamos que tengo un modibox con la aplicacion que controla 64 botones pero el segundo modulo DIN4 lo conecto solamente el dia que necesito usar los otros 32 botones,como si fuera un modulo de expancion, la aplicacion corre lo mas bien o se trabaria???? yo por lo que vi como trabaja el programa no habria ningun problema en quitar tanto DIN, DOUT y en el caso de los AIN hay que poner a tierra las entradas libres. Estoy en lo correcto????Gracias Edu Quote Link to comment Share on other sites More sharing options...
cimo Posted August 18, 2008 Report Share Posted August 18, 2008 Thanks Stryd_one te entiendo perfectamente ;D, lamento no poder escribirte en ingles por que mi escritura es muy mala :-[, pero no asi mi lectura.i understand english but i can t write it properly etcetcBueno resumiendo no es mas que algo similar al pragma que realmente a este nivel no creo que tenga mucho sentido usarla como dijo el amigo, pero me quedan 2 interrogantes primero por que la implementan a cada rato y segundo no entiendo por que al final y con esa sintaxis.2 questions:a)why is it implementing it (the function) all the time?b)i also don t understand why it implements it always at the end and with that syntaxSeguire investigando y probare a eliminarla ya que el compilador me lo da como error.i ll keep on searcing and i ll try to eliminate it since the compiler outputs it as an errorPregunta adicional fuera del tema: que pasa si en el programa tengo declarado 2 DIN4 y de repente uno de los 2 lo elimino del hard por que no lo uso.(obiamente apagando , desconectando y reiniciando el hard).te contesto yo: no pasa nadaPer ejemplo supongamos que tengo un modibox con la aplicacion que controla 64 botones pero el segundo modulo DIN4 lo conecto solamente el dia que necesito usar los otros 32 botones,como si fuera un modulo de expancion, la aplicacion corre lo mas bien o se trabaria???? yo por lo que vi como trabaja el programa no habria ningun problema en quitar tanto DIN, DOUT y en el caso de los AIN hay que poner a tierra las entradas libres. Estoy en lo correcto????correcto, por ejemplo yo utilizo unos minijacks estereofonicos para conectar AINs externos, cuando los desenchufo el pin se conecta automaticamente a GNDSimoneGracias Edu Quote Link to comment Share on other sites More sharing options...
stryd_one Posted August 19, 2008 Report Share Posted August 19, 2008 If the compiler outputs an error about __wparam, then you have done something wrong with the toolchain setup - the code is fine.I think that you must be running an old version of SDCC, or that the makefile is not working correctly.Please copy and paste from the command line, everything that you see when you run "make"Also, type:sh --version sdcc --version gpasm --version make --version And paste the output. So, you should paste something like this: C:\Documents and Settings\stryd_one>sh --version GNU bash, version 2.04.0(1)-release (i686-pc-msys) Copyright 1999 Free Software Foundation, Inc. C:\Documents and Settings\stryd_one>sdcc --version SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5117 (Mar 23 2008) (MINGW32) C:\Documents and Settings\stryd_one>gpasm --version gpasm-0.13.5 beta C:\Documents and Settings\stryd_one>make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-pc-mingw32 C:\Documents and Settings\stryd_one>This should help us find the problem :) Good luck! Quote Link to comment Share on other sites More sharing options...
Eduy2kk Posted August 19, 2008 Author Report Share Posted August 19, 2008 Gracias Cimo por la traduccion y las respuestas, este fin de semana no me dio tiempo para trabajar en el projecto ni aparecer en el foro pero bueno trabajo es trabajo :PThanks Styd_one I intal step-by-step tutorial sended for youThis is my screen C:\Documents and Settings\Eduardo>sh --version GNU bash, version 2.04.0(1)-release (i686-pc-msys) Copyright 1999 Free Software Foundation, Inc. C:\Documents and Settings\Eduardo>sdcc --version SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5 117 (Mar 23 2008) (MINGW32) C:\Documents and Settings\Eduardo>gpasm --version gpasm-0.13.5 beta C:\Documents and Settings\Eduardo>make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-pc-mingw32 C:\Documents and Settings\Eduardo> ;DAny idea??? alguna idea ya que los datos son iguales. :-[Otra duda que me la puedes resolver Cimo para compilar siempre tengo que usar el Gpasm o tambien se puede el Mpasmwin de microchips???bueno seguire investigando.Gracias a todos Edu Quote Link to comment Share on other sites More sharing options...
amando Posted August 19, 2008 Report Share Posted August 19, 2008 Creo que el MpASMwin es para asm. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted August 20, 2008 Report Share Posted August 20, 2008 datos son iguales. :-[Exactly. All is good there, you have the right tools, and they are correctly found in the path. :)The problem must be something else....Gpasm o tambien se puede el Mpasmwin de microchipsOnly old projects use MPASM, new projects should use GPASM.Eduy:Can you also paste the messages you see, when you run 'make'?Which code are you compiling? Did you download the .zip file from ucapps.de? Maybe you could attach the code here, or you can email it to me if you would prefer - just PM me for my address :)I wish I spoke Spanish right now! Sorry Eddie!Thanks for translating, Cimo! Quote Link to comment Share on other sites More sharing options...
Eduy2kk Posted August 20, 2008 Author Report Share Posted August 20, 2008 Hi Styd_one thanks for help me, sorry I write in spanish beacous is to long for my realy bad eanglish.Como para programar y desarollar en micros yo trabajo con otros programas de c, estos que usan para el Mios son completamente distintos y realmente tengo que empesar a conocerlos como trabajan por eso mis errores al usarlos.Mi idea es la siguiente : por el momento estoy utilizando el midibox64e_v2_2b.zip y el mios-autotools-skeleton-1.9f-r1.zip descargado de ucaps (obiamente descomprimido) para realizar las pruebas de compilacion a ASM y luego a HEX, (supuestamente estos archivos estan correctamente y se deberian compilar sin problemas). La idea es primero convertir esos para saber bien como es la utilisacion de los programas tanto el SDCC, Make, Gpasm, etc para luego comensar a realizar las modificaciones y trabajar en el codigo generado por mi.Agradeceria que me comenten como es el orden de uso de los programas con sus respectivas letras de opciones y las extenciones de los archivos que se deben aplicar en los mismos.Por el momento lo que estoy haciendo es usando el SDCC con la opcion -c para compilar del C al ASM que se me generan errores soble todo con los __wparam que todavia no lo pude solucionar, y luego supuestamente uso el Make (todavia no encontre cual es la opcion correcta que debo utilisar -??????)y supuestamente despues debo convertirlo a Hex con el Gpasm.Seguramente debo estar utilisando los programas en el orden incorrecto o con opciones que no corresponden.Realmente no si me estoy volviendo viejo e idiota ??? o solamente es falta de vacaciones. ;D Quote Link to comment Share on other sites More sharing options...
amando Posted August 20, 2008 Report Share Posted August 20, 2008 Yo utilizo el MPlab IDE y para hacer el *.hex desde el archivo de ensamblador asm elijo la opción "build". Espero que te ayude en algo. Quote Link to comment Share on other sites More sharing options...
cimo Posted August 20, 2008 Report Share Posted August 20, 2008 Yo utilizo el MPlab IDE y para hacer el *.hex desde el archivo de ensamblador asm elijo la opción "build". Espero que te ayude en algo. los proyectos son todavia compatible con el antiguo MPLAB? Quote Link to comment Share on other sites More sharing options...
Eduy2kk Posted August 20, 2008 Author Report Share Posted August 20, 2008 Si yo tambien para mis desarollos uso el Mplab ide y el Mpasm aunque normalmente desarollo en C y con el compilador de CCS y puedo sacar directamente el Hex desde el ;D.Pero lamentablemente como no son son compatible con el Mios :-[ no puedo usarlo y tengo que dejarlo de lado por lo cual practicamente tengo que empesar de 0 con el manejo de estos nuevos programas, asi que agradesco si pueden encaminarme con estos nuvos programas por que estoy mas perdido que chupete en la oreja :P. Lo que mas me lleva a la locura es el manejo para utilizarlos ya que no puedo compilar una aplicacion desde 0 y por el contenido que tiene el programa interno de la aplicacion ya logre comprenderla como trabaja y no tengo problemas ( por ahora ) en modificarla, pero sin compilarlas hasta tenerlas en el Hex para cargarlo en el micro con el mios no sirve de nada. Quote Link to comment Share on other sites More sharing options...
cimo Posted August 20, 2008 Report Share Posted August 20, 2008 holap[orque no pasas un rato por la chat? a ver si coincidimos y te encaminamos bien.Me da que te estas liando mucho para nada..Simone Quote Link to comment Share on other sites More sharing options...
amando Posted August 20, 2008 Report Share Posted August 20, 2008 No lo se, yo no lo hago en plan proyecto, porque quiero tenerlo todo en un solo archivo, para tenerlo todo compactado y que con el paso del tiempo no quede todo desparramado y luego necesite cosas que ya no están o no encuentro. Soy muy bruto, y meto todo en un solo asm, no utilizo "include", pongo primero las definiciones, los valores por defecto, luego una secuencia de inicio a modo de test, después el cuerpo de programa, que es lo único que suelo cambiar y por último las funciones y rutinas, de manera que el código en cada uso es mejorado, corregido y optimizado. Luego cuando quiero finalizar la aplicación le doy a: build archivo tal... y ya tengo lo que necesito el hex para el chip y un solo asm con todo lo que necesito, que guardo a buen recaudo para un posible uso futuro. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted August 21, 2008 Report Share Posted August 21, 2008 Short answers:Eduy, I don't mind the spanish posts, the translator (foxlingo/autotrans) is doing a good job, I hope my English posts are OK - you seem to be reading them just fine :)MPLAB/MPASM are no longer used for MIOS. Use GPUtils/GPASM instead.mios-autotools-skeleton-1.9f-r1.zipThat is not supported, it really should be removed from the wiki. It was an experiment done by one user, and does not really work. Use the skeleton you can download from ucapps.de download page :) Quote Link to comment Share on other sites More sharing options...
cimo Posted August 21, 2008 Report Share Posted August 21, 2008 Stryd i was in the chat with edu and we got things sorted out.Just so you don t waste time here, nice to see you in the Spanish forum though. ;)Simone Quote Link to comment Share on other sites More sharing options...
Eduy2kk Posted August 21, 2008 Author Report Share Posted August 21, 2008 Hola bueno les agradesco a todos por su gran ayuda y paciensia, ayer con simone en el chat me aclaro varias dudas y ya quedo todo encaminado ;). Bueno siempre pasa lo mismo busco la manera mas dificil de hacer lo facil ;D, asi que ahora queda trabajar en el codigo que por el momento no estoy haciendo nada concreto del projecto pero si probando como funcionan cada parte de las funciones asi despues podemos ajustar todo a mi necesidad :).OFF TOPIC : Amando por lo menos en mi caso que programo en C cuando el proyecto no es pequeño utiliso los include por que te facilita bastante la estructura del main , asi no tienes partes del codigo de rutinas que te molestan para ver el programa principal, como por ejemplo las rutinas de Lcd, memorias externas, controladores de sens de temp, relojes, etc las coloco fuera asi no me agrandan la cantidad de lineas del main y es mas facil visualisar los saltos y el prog principal.Igualmente es una cuestion de gusto y programas ya que el C de CCS es muy noble y facil de aministrar los include , los puedes dejar en el dir del proyecto o donde quieras y solo debes especificarle donde se encuentra como si fuera DOS.Cuanto tenga novedades posteare aqui en el forro la nueva data o las nuevas dudas.Gracias a todos nuevamente Edu Quote Link to comment Share on other sites More sharing options...
tangopic Posted March 16, 2011 Report Share Posted March 16, 2011 Hola , citaria varios post de "Eduy2kk" porque me pasa lo mismo, basicamente programo en C con el CCS y me gustaria poder programar con "MIOS" en SDCC y la verdad ... estoy perdido! hace algunos años cambie algunas configuraciones MIDIbox64 en asm pero quisiera hacerlo en "C". Alguien me da una mano? por ejemplo: To build your application: Click 'Start… Run'. Type in “cmd†(without the quotes) Click 'OK'. Type the following: On the next line, replace <your application directory> with the location where you have unzipped the files you downloaded from ucapps.de. For example C:\MIOS\midibox_sid_v2_0_rc18>. Otherwise, it should be exactly the same as you see here. cd c:\<your application directory> SET PATH=C:\MSYS\1.0\bin;%programfiles%\gputils\bin;%programfiles%\SDCC\bin;%PATH% make Your .hex file(s) will be ready. donde nos guarda el .hex? gracias! Quote Link to comment Share on other sites More sharing options...
tangopic Posted March 17, 2011 Report Share Posted March 17, 2011 Bueno,hasta aqui voy bien! puedo modificar las "Aplicaciones Completas" y generar el .hex con lo dicho antes (el archivo se guarda en la misma direccion,modifica el existente). Ahora,cômo compilo con Notepad++ y SDCC ????? tengo este ejemplo del Mios_Base: D:\MIOS\mios_base_v1_1\apps\examples\ain64_din128_dout128 Que Hago ??????? :question: agradezco ayuda!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.