Estoy usando Ubuntu 14.04 y el compilador arm-linux-gnueabihf-gcc para compilar proyectos para el tablero explicado sama5d3 y usar minicom y zmodem para transferir el código fuente compilado de la máquina ubuntu al tablero de desarrollo. La placa sama5 viene con Poky, la compilación de referencia de yocto linux. Mi objetivo final es acceder y leer los registros de los dispositivos ADC y SPI.
Le he dado una buena lectura a la hoja de datos aquí , en la página 1664, detalla el Registro de estado del canal ADC; en la ubicación de memoria 0xF8018018. Linux obviamente proporciona un fallo de segmentación cuando intento recuperar el valor allí. Un tutorial detallado sobre cómo usar mmap para las IO asignadas en memoria también sería bueno, ya que he escuchado que esto puede ser una alternativa.
El motivo de esto es para que pueda leer el ADC a 100 ksamples / seg. Acceder a las direcciones de memoria desde el espacio de usuario probablemente no sea posible, si lo fuera, sería muy apreciado que me haga saber cómo. Si no, me gustaría saber cómo crearía una aplicación completa que me permitiera hacerlo. Atmel tiene un paquete de software GNU que incluye controladores ADC para el compilador arm-none-eabi-gcc. ¿Cómo haría para configurar esto para compilar y ejecutar programas en este foro?
Para condensar todo esto abajo:
Tengo:
-
Un escritorio con Ubuntu 14.04
-
la placa de desarrollo sama5d3-xplained
Las preguntas son:
-
¿Se puede acceder al ADC a velocidades > = 100 ksamples / sec
-
¿Hay alguna forma de acceder a los registros desde una ubicación de memoria (como el registro de estado del canal ADC en la ubicación de memoria 0xF8018018) desde el espacio del usuario?
-
¿Cómo podría desarrollar una aplicación completa si la respuesta a la pregunta anterior es negativa?
Gracias por su ayuda y tiempo.