Ver la versión completa : [Links] Tutoriales de programacion en C y ensamblador de ARM
esosiqueno
20/09/2007, 20:56
He estado paseando por ahí, y me he ido encontrado con cosillas que me gustaría compartir
Básicamente Ensamblador de Arm y Optimizaciones en C y ensamblador.
También hay un enlace con una introducción a la programación para Arm para que le vendrá bien al que empieza.
Supongo que muchos los tendréis o los habréis ojeado, pero seguro que hay alguien al que le ayuda:
Fixed Point Arithmetic on the Arm
http://infocenter.arm.com/help/topic/com.arm.doc.dai0033a/DAI0033A_fixedpoint_appsnote.pdf
Floating-Point Performance
http://arm.nihilisme.ca/doc/DAI0055vA.pdf
Writing Efficient C for ARM
http://arm.nihilisme.ca/doc/DAI0034vA.pdf
Arm Assembler
http://www.heyrick.co.uk/assembler/
Top tips on programming assembler
http://www.drobe.co.uk/archives/freenet.barnet.ac.uk/Acorn/programming/docs/toptips.html
COST-EFFECTIVE MICROARCHITECTURE OPTIMIZATION FOR ARM7TDMI
http://140.134.132.124:8080/dspace/bitstream/2377/2670/1/ce07ics002000000076.pdf
Arm code for Beginners
http://www.riscworld.co.uk/ONLINE/ARMCODE/INDEX.HTM
Optimización en C
Richard's C Optimization page
http://www.rddvs.com/FasterC/
Code Optimization Using the GNU C Compiler
http://www.tldp.org/LDP/LG/issue71/joshi.html
C optimisation tutorial
http://www.abarnett.demon.co.uk/tutorial.html
Saludos.
Muchas gracias por los links, algunos ya los tenia o los habia visto, pero nunca esta de más para todo el mundo. De todos modos algunos son muy densos o complejos como para ser de ayuda para la mayoria de programadores amateurs.
^MiSaTo^
21/09/2007, 10:28
Gracias por la recopilación, si no te importa cambio el título y le pongo una chinchetilla, que esto nos viene bien a todos y no quiero que se pierda.
Saludos :brindis:
Muy buen aporte!
Aunque los programadores de verdad aprenden a programar C en http://www.ioccc.org/
Estopero
21/09/2007, 13:19
muchas gracias!!!
pinchacantos
21/09/2007, 13:21
Una preguntita ¿Y algún manual que empiece desde 0 (cero absoluto)?
Saludos.
esosiqueno
23/09/2007, 23:44
Hola,
Una preguntita ¿Y algún manual que empiece desde 0 (cero absoluto)?
Saludos.
Curso de C
http://www.elrincondelc.com/cursoc/cursoc.html
Curso de C++
http://c.conclase.net/curso/index.php
Un saludo
El mejor libro sobre ensamblador de GP2X que conozco:
http://www.peter-cockerell.net/aalp/
para ensamblar no useis gcc ni as, usad fasmarm como los campeones ;)
http://arm.flatassembler.net/
esta para windows, linux y codigo fuente, asi que todos contentos :P
a continuación os pongo un ejemplo k imprime una cadena y ejecuta el menu (imprime por stdin, asi que si lo ejecutais directamente desde la consola no vereis nada, ejecutadlo desde sdlterm o desde un telnet :)
para ensamblar: fasmarm fichero.asm
format ELF executable
entry start
segment readable executable
start:
;print message
mov r0,1 ;stdin
add r1,pc,msg-$-8 ;msg a imprimir
mov r2,msg_len ;tamaño
swi 0x900004 ;__NR_write (syscall para imprimir)
;cd /usr/gp2x
add r0,pc,mnudir-$-8 ;ruta del directorio
swi 0x90000c ;__NR_chdir (syscall para cambiar directorio)
;execute gp2xmenu
add r0,pc,mnuexe-$-8 ;ruta del binario
mov r1,0 ;arg2 = NULL
mov r2,0 ;arg3 = NULL
swi 0x90000b ;__NR_execve (syscall execve)
;exit
mov r0,1 ;valor de retorno
swi 0x900001 ;__NR_exit (syscall exit)
msg: db 'Hello World in ARM assembler',10
msg_len = $ - msg
mnudir: db '/usr/gp2x'
mnuexe: db '/usr/gp2x/gp2xmenu'
segment writeable ;dummy segment for bss
< - >
Despues de muchas horas sin poder debugar los binarios generados con fasmarm por ser tan compactos ;) he ido probando hasta conseguir algo decente.Es posible usar gdb en la gp2x pero al no tener tablas de simbolos los ejecutables hay k poner un break point cerca del entry point del ejecutable, luego con display/i $pc podremos hacer nexti por ejemplo. para ver el entry point del ejecutable en el pc junto con arm-linux-gcc tendreis arm-linux-readelf.
Si hay gente que quiera programar en ensamblador de arm para la gp2x y no se aclare con la info k hay k me lo diga y nos podemos currar un tutorial de asm para gp2x desde cero. Cuando digo ensamblador me refiero a ensamblador d verdad, no inline assembler con gcc. gcc mete mucha mierda a los binarios, un hola mundo en ensamblador para gp2x con gcc ocupa 3k's, con fasmarm ocupa 210 bytes, imaginaros la diferencia en programas mas grandes.
No sé assembler pero tengo nociones básicas. Tengo un libro de ensamblador de x86 pero no me lo he leído entero. Voy a intentar aprender sobre asm del ARM, gracias a todos por los enlaces, os habéis ganado 5 estrellitas de mi parte ;)
Una preguntita. Como soy n00b en asm y no me preocupa -de momento- el tamaño de los ejecutables, ¿es buena idea programar en C y luego ir conviertiendo las funciones a inline assembler? Es que no tengo mucha idea de la estructura de un programa en asm, aunque supongo que ya aprenderé con la experiencia...
NoobLuck
08/10/2007, 12:01
Que caña, gracias a participar en el foro de programación entendí perfectamente como se usan los operadores de bits en C++ y he entendido un código para hacer un trabajo de una asignatura.
Si es que no puede ser, siempre con los juegos y las chorradillas xDDD. Che!
:brindis:
No sé assembler pero tengo nociones básicas. Tengo un libro de ensamblador de x86 pero no me lo he leído entero. Voy a intentar aprender sobre asm del ARM, gracias a todos por los enlaces, os habéis ganado 5 estrellitas de mi parte ;)
Una preguntita. Como soy n00b en asm y no me preocupa -de momento- el tamaño de los ejecutables, ¿es buena idea programar en C y luego ir conviertiendo las funciones a inline assembler? Es que no tengo mucha idea de la estructura de un programa en asm, aunque supongo que ya aprenderé con la experiencia...
Pues puedes hacer eso, aunque es rizar el rizo. Yo de ti usaria fasmarm k es bastante sencillo y una vez lo entiendas no habra problemas. bajatelo de arm.flatassembler.net y te viene kn ejemplos, mirate los de la carpeta ELF k son para linux.En realidad es como programar en ensamblador para linux de x86 salvo k las instrucciones son de ARM y las syscalls se llaman con swi numero, en lugar d poner el num en eax y hacer int 80. Hare un minituto esta noche para que veas que es sencillo :)
El Guille
16/11/2007, 20:42
q tal.. soy nuevo aca en el foro :D ..... soy de Guatemala..... y weno pos planeo comprarme una gp2x f100 proximamente así que he decidido empezar a aprender a programar para la gp2x y aca ando :)
se programar en c++ aunque hace ratos que no programo nada x falta de tiempo, he preparado mi kdevelop (con los articulos de David Colmenero) para tales fines, y lo bueno es q usa sdl y puedo empezar a hacer pruebas aca en mi pc..
el primer ... "problema" (?).. es que solo hay plantilla para C .... noes un problema pero prefiero C++... como podría usar c++ en vez de C ?.. solo cambio el nombre del archivo por .cpp...?... igual voy a probar
también me interesa programar en assembler para cosas q necesiten mejor aprovechamiento de los micros pero como siempre, en assembler estoy mas perdido aún y un obstaculo es que podré usarlo (fasmarm) hasta que obtenga mi gp2x ...he programado en asm pero no mucho .... y pos a ver q tal
también quería hacer una pregunta sobre el envío de mi gp2x, yo la pienso pedir en www.unatiendaNOPERMITIDA.com y esta algo caro el envío... alguién ha pedido algo por medio de EMS o USPS ??.. esas son las unicas opciones que me da, también esta la opcion de Fedex pero es demasiado caro (80 dolares) ... creo q me arriesgare con EMS.. o hay alguna otra tienda online de la cual pedirla ?.....
saludos..
^MiSaTo^
16/11/2007, 20:55
Hola, lo primero bienvenido. Lo segundo por favor leete las normas del foro puesto que no se pueden poner enlaces a tiendas online.
El Guille
16/11/2007, 21:18
joer qué bienvenida...... claro <señor supermoderador> usté manda ...
PD:si puedo preguntar sobre formas de pedido ?.......hardcore gamer al parecer no puede realizar envios a mi país (al parecer solo a andorra, españa y portugal).... no sería mas lógico eliminar a la competencia local ? en vez de ponernos trabas a los que no tenemos nada q ver con vuestras técnicas de mercadeo ...en fin
joer qué bienvenida...... claro <señor supermoderador> usté manda ...
PD:si puedo preguntar sobre formas de pedido ?.......hardcore gamer al parecer no puede realizar envios a mi país (al parecer solo a andorra, españa y portugal).... no sería mas lógico eliminar a la competencia local ? en vez de ponernos trabas a los que no tenemos nada q ver con vuestras técnicas de mercadeo ...en fin
Este no es un foro público, es un foro privado que requiere registro, al registrarte aceptaste respetar unas normas que estabas obligado a leer, no se trata de si las normas son buenas, malas o "técnicas de merdadeo" simplemente son normas que tiene el foro y que se deben cumplir.
En la propia web de GamePark Holdings (http://www.gp2x.com/) dispones de una lista de distribuidores, para pedidos a Guatemala supongo que con algunos de los distribuidores internacionales podrás o en su defecto algún asiático.
Sobre los envíos cada pueblo es un mundo y no digamos cada país, y poco te podrán decir aquí de como funcionan las compañías de transporte en Guatemala, aquí en España todas fatal por ponente un ejemplo.
claudmade
03/04/2009, 23:17
Hola chicos. Mi nombre es claudia y me gustaria que me ayudaran en programacion. Necesito crear un juego de barajas de 3 y 2 en c pero no se como hacerlo. Me pueden ayudar
dragonet
03/04/2009, 23:28
Claro, aquí (http://www.altacarta.com/trade/latin/L0039.jpg) tienes los gráficos para el juego.
claudia, si tienes que hacer la práctica de programación y la copias de Internet, nunca vas a aprender a programar ni a razonar por tí misma. Y si pasa eso en el futuro tendrás que depender de otras personas y te dirán hasta lo que tienes que pensar. Investiga, consulta libros y apuntes, aprende en la web, aunque no lo consigas estarás viviendo tu propia vida y no la de otros...
darionapole
05/04/2009, 03:57
Uy q justo XD
Justo mañana me iva a comprar un lcd de 23' asi q me cae justo porque la verda no me dan ganas de leer en un crt de 14 :D es de 1994 el moni =(
Vamos a ver si alfin puedo empesar a hacer programitas pa la gp2x =0)
^MiSaTo^
05/04/2009, 13:43
claudia, si tienes que hacer la práctica de programación y la copias de Internet, nunca vas a aprender a programar ni a razonar por tí misma. Y si pasa eso en el futuro tendrás que depender de otras personas y te dirán hasta lo que tienes que pensar. Investiga, consulta libros y apuntes, aprende en la web, aunque no lo consigas estarás viviendo tu propia vida y no la de otros...
Pero no haber editado el hilo hombre... No te avergüences de tus palabras xDDDD
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.