Bounty On Bus Pirate Features, obtenga V2-PCB gratis

Damos un premio a dos funciones de Bus Pirate de máxima prioridad. Puede obtener un PCB gratis para el próximo Bus Pirate V2 escribiendo un código. Hack a Day tiene un grupo de lectores diverso y talentoso, y sabemos que cualquiera tiene la experiencia para hacer estos cambios con una dificultad mínima.

  • El último código integra el lanzador PIC24F para actualizaciones fáciles sin un desarrollador. Nos gustaría agregar un espía de protocolo, pero eso requiere interrupciones. Sin embargo, con el cargador de arranque, las interrupciones se reubican y aún entendemos completamente cómo funciona. Enviaremos PCB y PIC 24F a la primera persona que modifique el código para probar UART, SPI o interrupciones de notificación de cambio con el cargador de arranque. La nota sobre el lanzador 24F de Microchip está disponible aquí. Completo.
    • La función actual de la medición de frecuencia es un truco que utiliza un contador y un temporizador. Sea el primero en deshabilitar el dispositivo lateral de captura de entrada y obtenga una PCB gratis. Ver la función bpFreq (vacío) en bazo.c. Completo.
    • El último código de Bus Pirate y el firmware compilado se pueden descargar desde Google Code SVN. Envíe su código a través de los comentarios a continuación o [email protected]

      ACTUALIZACIÓN: Ambos problemas se han resuelto. Gracias por tus sugerencias.

      • kailo dice:

        ¿Estás listo para vender algunas de esas placas de respaldo? Me gustaría comprar solo uno a un precio que me cueste menos que tener que organizar y fabricar un panel completo a través de cualquier otra casa de PCB.

      • aleksfox dice:

        ¡Usar un premio por estas funciones es una excelente manera de lograr que la comunidad ayude a la comunidad!

        Por cierto, la configuración beta y batchpcb son excelentes lugares para comprar pequeños circuitos de PCB a bajo precio

      • Ian Lesnet dice:

        Oportunidades adicionales: también enviaremos PCB para los dos primeros informes de errores relacionados con nuestra implementación del lanzador.

      • Hombre loco dice:

        Lamentablemente, todavía no tengo un bus pirata y tampoco tengo un prototipo de placa PIC, por lo que no puedo dar ningún código. Estoy lanzando un programador ahora.

        Sobre las interrupciones:
        Al leer la nota del programa, el proceso es bastante simple. La idea es que la matriz de vectores de interrupción esté en el mismo bloque que el vector de reinicio. Debido a que el cargador de arranque necesita el vector de reinicio en cualquier momento, cualquier operación segura excluiría la escritura en el primer bloque de la memoria del programa (así como en los bloques de código del cargador de arranque, por supuesto).
        Para permitir que los programas de usuario utilicen interrupciones, el primer bloque de memoria que contiene la tabla de vectores se programará una vez. El vector de reinicio obtendrá un salto al cargador de inicio y los vectores de interrupción obtendrán saltos a sus propios desplazamientos en el bloque SIGUIENTE de memoria, esencialmente "transfiriendo" la tabla de vectores de interrupción al segundo bloque de memoria. Este bloque será reemplazable de manera segura por las operaciones del lanzador, ya que el vector reconfigurado no está en peligro.

        La matriz de vectores de interrupción generalmente reside en el enlace que salta a las rutinas del servicio de interrupción en las ubicaciones "mágicas" exactas de acuerdo con el código que escribió el usuario. Esto se puede modificar fácilmente cambiando el script del enlace, es decir, dígale al enlace que coloque los saltos en el segundo bloque de memoria, con las mismas compensaciones que antes. Se incluye un script de enlace de muestra con la descarga del programa.

        Entonces, digamos que ocurre la interrupción 1, cuyo vector estaría en 0x04 en la memoria (0x00 es el vector de reinicio). Supongamos también un tamaño de bloque de 0x10. Se le dice al enlace que salte a la rutina del servicio de interrupción en (0x10 + 0x04). Aquí está la "tabla protectora de vectores de interrupción" del lanzador. Entonces, el PIC salta a 0x04 cuando ocurre la primera interrupción y desde allí obtiene la instrucción para saltar a (0x10 + 0x04). Allí, el enlace coloca la instrucción para saltar dondequiera que se encuentre la rutina del servicio de interrupción real.

        Espero que mi resumen ayude. Con mucho gusto proporcionaría código, pero como dije, recién estoy comenzando a comenzar mi entorno de trabajo PIC. Primero pensé en portar el bus pirata a AVR (atmega32 o algo similar), pero luego pensé que sería más prudente construir primero la plataforma compatible y comenzar a portar más tarde cuando pueda probar el nuevo código escrito para el PIC en el puño del aparato real. . Entonces, obtener un pirata informático de bus original basado en PIC eventualmente se aceleraría un poco = D

        Espero que mi escritura ayude. Por favor pregunte si algo no está claro.

      • Hombre loco dice:

        Los ejemplos de secuencias de comandos de enlaces efectivos se encuentran en el apéndice c del programa, no en la descarga (tal vez allí también, no lo sé).

        No sé si lo expliqué lo suficiente en la última publicación: el único cambio necesario sería en el script del enlace. ¡El código no tendrá que verse afectado!

      • esden dice:

        ¿Qué pasa con la licencia de esta cosa? Usted proporciona los esquemas de fuente y placa, ¡lo cual es realmente genial! ¡Pulgares hacia arriba!

        La página de códigos de Google dice que este proyecto está publicado bajo Nueva Licencia BSD. Pero no hay ningún registro de esto en el código fuente o en los archivos esquemáticos o tabulares.

        No es que tengas una implicación incorrecta. No pregunto porque me gustaría producirlo o algo por el estilo. Yo mismo desarrollo software libre y me frustra un poco que otros proyectos de hardware simplemente no publiquen su material con las licencias adecuadas y / o no los utilicen correctamente.

        Solo quiero ayudar aquí para llamar la atención sobre los problemas. ^^

        En otra nota. Espero poder conseguir pronto uno de esos tableros. Otra cosa útil sería una interfaz USB. Mi computadora portátil no tiene una serie y necesitaría usar un convertidor de serie USB, lo que en muchos casos da problemas. 🙁

        Hola esden

      • Mefistófeles dice:

        @esden: publicaciones anteriores de piratas de autobuses mencionaron que es de dominio público, pero la opción más cercana en Google era BSD.

      • esden dice:

        ¡Es muy bueno saberlo! Pero incluso cuando es de dominio público, debe mencionarse en la fuente. De lo contrario, todo cae automáticamente bajo los derechos de autor y no puedes hacer nada con él. 🙁

      • castrado dice:

        para seguir el comentario de madman, la fuente en su svn rap ya tiene las piezas relevantes. el archivo .gld es el enlace correspondiente.

        No puedo probar un código de función (sin un entorno de imagen, a menos que alguien me envíe una computadora :-), pero para instalar el interruptor uart1 rx, simplemente defina una función llamada __U1RxInterrupt. el script de enlace completará el vector de interrupción por usted con este fragmento:

        largo (definido (__ u1rxinterrupt)? absoluto (__ u1rxinterrupt):
        absoluto (__ interrupción por defecto));

        que se traduce en:

        asigne un espacio para una palabra larga cuyo valor sea la dirección del símbolo llamado __u1rxinterrupt si está definido y __defaultinterrupt en caso contrario.

        los conmutadores spi / uart2 son básicamente el mismo trato.

      • dex dice:

        Arriba Arriba Abajo Abajo Izquierda Derecha Izquierda Derecha BA

      • Ian Lesnet dice:

        Agregamos una función para ayudar a probar implementaciones disruptivas. El código más nuevo tiene un comando de menú no documentado 'i' que establece y habilita el temporizador1 con interrupciones. En main.c hay una variable global irqFlag que imprime 'IRQ DETECTED' en la terminal cuando se establece en uno. Debajo de main.c hay tres funciones de procesamiento de interrupciones de los ejemplos de Microchip. Ambos ejemplos de Microchip hacen que el chip se reinicie. Esto debería proporcionar un marco sencillo para probar las interrupciones.

      • Roma D dice:

        Solo quería dar una ventaja, asegúrese de que el script del enlace sea realmente para el chip que está utilizando. Un ejemplo lejano, creo que el que se encuentra en el sitio web de MC es para el 24FJ256GA110, si usa GA1XX, tiene derecho a verificar que el script sea correcto. Hay diferencias en la misma familia, dependiendo de cuál de los modelos descargados utilice.

      • Ian Lesnet dice:

        @esden: si realiza estos cambios y envía un parche, lo aplicaré al código.

      • esden dice:

        @lesnet Ok, crearé un parche para ti. Sin embargo, tengo una pequeña pregunta. ¿Quieres usar CC0 (lo que hace que la publicación sea más robusta que simplemente decir que la cosa es de dominio público) o no? Si es así, sería muy útil si me pudiera decir el nombre del grupo / persona que posee los derechos de autor. Luego puedo crear el encabezado apropiado y crear un parche.

      • nevada dice:

        Nada mejor que una prueba de habilidad urgente, entre leñadores y todos los artesanos. : PAG

      • clint dice:

        @ian:

        Esta placa V2 parece que tiene un puerto USB. (¡DULCE!) ¿Vas con el chip FTDI?

        Considere vender las tablas nuevas, o al menos indique un lugar donde podamos comprarlas. ¡Mientras más, mejor!

        ¡Gracias por su arduo trabajo y excelentes publicaciones!

        -Clint

      • clint dice:

        @ian:

        ¿Alguna noticia sobre los tableros v2? ¡Necesitas al menos una persona para pedir un pequeño para pedir uno!

        ¡Gracias!

        -Clint

      • micro dice:

        @ian
        Seguí el desarrollo del Bus Pirate, pero todo parece haberse calmado hace aproximadamente un mes. Veo que todavía está trabajando en el software basado en Google SVN, pero no puedo encontrar nada sobre las mejoras realizadas en el hardware para la versión 2go.

        ¿Tiene una cita para el hardware v.2go que podría publicar?

        Creo que tengo todos los elementos basados ​​en la documentación que hay en el sitio, incluida la versión 2a, los esquemas y los comentarios. El último artículo sobre el que tengo una pregunta es el 4066D: ¿cuál es la versión específica que usó?

        Compré la placa v.2go de Seeed Studio y quiero hacer mi pedido de Digi-Key, pero me gustaría confirmar las piezas antes de hacerlo.

        Cualquier ayuda sería apreciada. Gracias

        Miguel

      • clint dice:

        @ian:

        "¿Qué dijo el micro?"

        🙂

        ¡Gracias!

      • Programas afiliados dice:

        ¡Tu blog es muy bonito! La publicación tiene contenido rico, pero podrías hacerlo mejor.

      • Artículos de Diablo2 gratis dice:

        Mi cuñado es originario de México y todavía le cuesta hablar inglés con claridad. Su maestro de ESL le sugirió que mirara programas de televisión estadounidenses para familiarizarse con los modismos que a menudo se pueden usar. Le encantan los artículos Devil-2 gratuitos de Internet. así que de todas formas él presta el nuestro una computadora portátil para intentar hacer precisamente eso. Mi esposo y yo preferimos verlo lograr este objetivo, así que estamos considerando comprarle una computadora portátil para su cumpleaños. Necesitaría comprar acceso en línea, pero imagino que pueden pagarlo con su presupuesto mensual. Todavía no me he ocupado de esto con mi hermana, pero espero con ansias este fin de semana.

Alberto Gimenez
Alberto Gimenez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.