Necesito poder evitar que otros copien mi programa colocado en la memoria flash, pero aún quiero poder escribir en la EEPROM.
Probé los bits de bloqueo configurándolos en Modo 3 (0x3C). Pero eso me impedirá escribir en la EEPROM.
¿Hay alguna forma de evitar leer el flash mientras se continúa escribiendo en la EEPROM?
REF: https://electronics.stackexchange.com/a/53293
y especialmente: http://web.engr.oregonstate.edu/~traylor/ece473/lectures/fuses.pdf
Es posible establecer un "Modo no 2", también conocido como "Modo 1 xor 2", con LB1 como 1 y LB2 como 0.
implicación: una persona emprendedora debería poder usar la capacidad de programación implícita en el estado habilitado de LB1 para restablecer LB2 a 1
independientemente, al "sujetar" (escuchar cables) el flujo de datos parpadeantes (presumiblemente a través de un cable USB) los datos cargados se pueden ver (trivial y literalmente con un osciloscopio: una persona "podría leer" datos RS232 de esta manera para bajo (< <75) velocidades de transmisión y es el análogo visual de la capacidad auditiva para usar el código Morse, donde los remitentes podrían incluso identificarse por su "puño")
si, por lo tanto, estos datos cargados NO se descifran antes de flashear, entonces el cargador de arranque interno debe modificarse para descifrarlos, ... y si partes del cargador de arranque deben descifrarse mediante una clave cifrada en los datos de carga flash...
una clave externa secreta, contraseña, inicia el proceso anterior, por lo que un chip "frío" es inútil de lo contrario
esta técnica no evita la copia pero inhibe la usabilidad de la copia
si nada más, la ofuscación presenta un desafío no solo para el intruso sino también para el autor auténtico
No no hay. Considere agregar un I 2 C o SPI EEPROM/flash externo si necesita espacio de escritura externa mientras que el programa integrado no se puede leer. Esto no solo resolverá su problema inmediato, sino que también puede brindarle mucho más espacio para almacenar sus datos, ya sean proporcionados o generados.
Así es como lo resolví. Puede que no funcione para todos en mi situación, pero eso fue lo suficientemente bueno para mi necesidad. Como estoy restringido por el modo 3, decidí usar el modo 3 (evitar la lectura y escritura para flash y eeprom). Por lo tanto, proporcionaré mi programa + los datos a los clientes en un archivo cifrado que solo puede abrir mi aplicación de escritorio, que lo descifrará e implementará tanto el programa como los datos y los bloqueará nuevamente en el chip. El único inconveniente con esta solución es el tiempo que tomará cargar a flash y EEPROM (~40-45 segundos) mientras que cargar solo a EEPORM toma alrededor de 10 a 15 segundos. Por otro lado, esta solución tiene la ventaja adicional de permitir el envío de cualquier actualización de mi programa dentro de la misma operación.
Gracias por la sugerencia de todos. Puedo probarlos en el futuro cuando tenga tiempo para experimentar.
Rdo
yippie
Tuba en T
chris stratton