Tengo un problema con _sbrk. En una fase de enlace de compilación utilizo el comando siguiente para vincular mis objetos y obtengo una referencia no definida a _sbrk.Referencia no definida a _sbrk
arm-none-eabi-ld -static -T linkerscript.ld -o exe timer_example.o /home/ziga/projects/cs_lite/arm-none-eabi/lib/libc.a /home/ziga/projects/cs_lite/lib/gcc/arm-none-eabi/4.5.1/libgcc.a
Estoy compilando para ARM926EJ-s y en modo ARM así que creo que he elegido el multilib derecha (libc.a y libgcc.a) que se encuentra en la carpeta de inicio/ziga/proyectos/cs_lite/brazo -none-eabi/lib /.
He estado buscando en internet la función _sbrk y es una especie de llamada de administración de memoria que no está incluida en las bibliotecas estándar de C, ya que depende del microprocesador. Entonces, ¿tengo que escribir la función _sbrk por mi cuenta? ¿Cómo lo hago? ¿Tienes algún ejemplo para arm926ej-s? Después de escribir esta función, intento compilarla en un archivo objeto y vincularla junto con otros objetos, bibliotecas.
Con saludos cordiales, Ziga.
que resolvieron este problema y se publicará solución a este problema, así que devolver algo a la comunidad . La función _sbrk se encuentra dentro del paquete NXP CDL para ARM. Paquete está disponible para su descarga (enlace es para todos los que no sé esto ya) aquí: http://www.lpclinux.com/Downloads/WebHome En subcarpeta CDL_v005/DEN/lpc313x/BSP/ea3131/fuente se encuentra el archivo de origen libnosys_gnu.c nombre que hay que añadir a el proyecto y compilado para objetar el archivo y luego vinculado al archivo ejecutable junto con otros objetos y bibliotecas .
Los mejores deseos y mucho éxito.
en realidad debería poner esa respuesta en una _respuesta_ en lugar de editar su pregunta. Está bien responder tus propias preguntas (incluso para aceptarlas). – paxdiablo