Índice:
- Suprimentos
- Etapa 1: coletar / criar suprimentos
- Etapa 2: Apagar Firmware Existente
- Etapa 3: Compile e carregue seu firmware no CFA10052
- Etapa 4: Licenças
Vídeo: Hackear um CFA735 / CFA835: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Você tem um projeto que precisa de um display, um teclado numérico e alguma memória, mas o firmware pré-carregado no módulo Crystalfontz CFA735 ou CFA835 não é exatamente o que você está procurando? Você está com sorte - você pode hackear esses módulos para carregar firmware personalizado.
O CFA735 e o CFA835 são módulos LCD inteligentes versáteis. Tanto o Crystalfontz CFA735 quanto o CFA835 são baseados no módulo de hardware CFA10052, portanto, durante este tutorial, o CFA735 e / ou CFA835 será referido como o CFA10052. O CFA10052 pode ser reprogramado para executar seu próprio firmware personalizado.
- Microcontrolador STMicroelectronics STM32F401
- ARM 32-bit Cortex ™ -M4 CPU @ 84 MHz
- 256K Flash, 64K RAM
- LCD retroiluminado de 244 x 68 pixels
- Controlador LCD gráfico Sitronix ST7529 32 em tons de cinza
- A fonte de comutação Buck-boost permite ampla faixa de tensão de alimentação
- Controladores de brilho de LED de comutação separados para teclado e luz de fundo de LCD
- Teclado com luz de fundo de 6 botões
- 4 LEDs bicolores (vermelho / verde)
- Interface USB2
- slot para cartão microSD
- 5 pinos IO de uso geral (GPIO)
- Múltiplas interfaces seriais / SPI / I2C / CAN (dependendo do uso de GPIO).
Este tutorial mostrará como substituir o firmware que vem em um CFA10052 por um novo firmware que irá:
- Exibir no LCD uma grade alternada, com luz de fundo atual, contraste do LCD e informações de status do teclado;
- Controle a luz de fundo e o contraste do LCD usando o teclado.
- Altere a cor dos quatro LEDs de vermelho para verde em sequência.
- Habilite a porta serial USART nos pinos 1 e 2 do Cabeçalho 1 (115200 baud) e ecoe todos os dados recebidos.
- Habilite a porta serial virtual USB e repasse todos os dados recebidos para o host.
- Inclui, mas não demonstra, acesso a arquivos de leitura / gravação uSD.
Claro, você pode escrever seu próprio firmware e carregá-lo usando estas etapas.
NOTA IMPORTANTE:
O módulo de hardware Crystalfontz CFA10052 é enviado programado com um bootloader e firmware CFA735 / CFA835. O bootloader e o firmware CFA735 / CFA835 não são de código aberto e não podem ser copiados do CFA10052 pelo usuário, nem podem ser programados no CFA10052 pelo usuário. Se você quiser reverter para o firmware CFA735 / CFA835, terá que enviá-lo de volta à Crystalfontz para que seja reprogramado.
Suprimentos
- Módulo Crystalfontz CFA10052 (hardware v1.1 ou posterior) (CFA735 / CFA835)
- PC (Windows / Linux / OSX) com STM32CubeIDE e STM32 ST-LINK Utility instalado
- Interface de programação STMicroelectronics ST-LINK (V2 ou V3)
- Cabo de programação CFA10052 (detalhes abaixo)
- Firmware personalizado (ou use o nosso aqui)
- Se estiver usando o Windows 7/8 / 8.1 / 10 (ou versões de servidor equivalentes) e quiser testar a porta serial virtual USB, você precisará baixar os drivers aqui. A porta serial USB funcionará sem a necessidade de drivers adicionais no Windows 10+, Linux, OS-X.
Etapa 1: coletar / criar suprimentos
Recomendamos usar o STM32CubeIDE para carregar e usar este projeto de firmware de exemplo. STM32CubeIDE é um IDE gratuito baseado no Eclipse que foi modificado pela STMicroelectronics para incluir ferramentas específicas do STM32. O IDE pode ser baixado na página da web STM32CubeIDE.
Para manter a operação correta da ferramenta de configuração do dispositivo STM, você só deve editar o código-fonte criado pela ferramenta de configuração do dispositivo entre os blocos de comentários "USER CODE BEGIN xxx" e "USER CODE END xxx" correspondentes.
Em seguida, decida se deseja nos contatar para obter um cabo de programação CFA10052 ou para fazer o seu próprio. Não vamos falar sobre como fazer o cabo em detalhes neste tutorial, mas se você quiser fazer seu próprio cabo de programação CFA10052, você pode encontrar as conexões na página do GitHub, a melhor maneira de fazer isso é começar com um cabo de fita de dezesseis pinos e emende-o ao cabo para o ST Link.
Etapa 2: Apagar Firmware Existente
Se o seu módulo CFA10052 estiver carregado com o firmware CFA735 ou CFA835 fornecido, você precisará primeiro apagar o firmware existente antes de instalar o novo firmware. A memória flash é protegida contra leitura e gravação e deve ser removida antes que o firmware personalizado possa ser carregado.
Existem dois métodos para remover o firmware instalado:
- Desconecte o cabo USB (ou fonte de alimentação) do módulo CFA10052.
- Conecte o CFA10052 ao ST-LINK usando o cabo de programação (veja acima) e o ST-LINK ao PC host.
- Segure as teclas para cima e para baixo no CFA10052 enquanto conecta o cabo USB ao CFA10052 (ou fonte de alimentação). O CFA10052 agora deve mostrar a tela Crystalfontz Bootloader.
- Execute o utilitário STM32 ST-LINK. No menu "Destino", abra a janela "Bytes de opção". Na caixa "Proteção de leitura", selecione "Nível 0". Clique em Aplicar. O firmware Crystalfontz agora foi removido e qualquer firmware personalizado pode agora ser programado.
Método alternativo (se você não puder entrar no Bootloader Crystalfontz segurando as teclas):
- Desconecte o cabo USB (ou fonte de alimentação) do módulo CFA10052.
- Conecte o ponto de teste BOOT0 (um pequeno bloco na parte traseira do módulo CFA10052, próximo ao conector H1) a 3,3 V ou 5 V.
- Conecte o CFA10052 ao ST-LINK usando o cabo de programação (veja acima) e o ST-LINK ao PC host.
- Ligue o CFA10052 (ou conecte-o à alimentação USB). O display deve estar em branco.
- Execute o utilitário STM32 ST-LINK. No menu "Destino", abra a janela "Bytes de opção". Na caixa "Proteção de leitura", selecione "Nível 0". Clique em Aplicar. O firmware Crystalfontz agora foi removido e qualquer firmware personalizado pode agora ser programado.
- A conexão do pino BOOT0 a 3,3 V / 5 V não é mais necessária.
Etapa 3: Compile e carregue seu firmware no CFA10052
Uma vez que o firmware fornecido pelo Crystalfontz foi removido, você está pronto para compilar e carregar seu próprio firmware. Para os fins deste tutorial, fornecemos algum firmware alternativo que dá controle do teclado do brilho da luz de fundo e contraste da tela.
Para compilar o firmware:
- Abra o STM32CubeIDE
- No menu Arquivo, escolha Importar e, em seguida, "Importar Projetos Existentes para o Espaço de Trabalho".
- Na caixa do diretório raiz, selecione o diretório deste firmware de exemplo.
- Clique no botão Concluir.
- No Project Explorer, selecione o projeto cfa10052_example e, a seguir, abra o arquivo Src e "main.c".
- No menu Projeto, selecione "Construir Projeto".
Para programar e executar o firmware no CFA10052:
- Desconecte o cabo USB (ou fonte de alimentação) do módulo CFA10052.
- Conecte o CFA10052 ao ST-LINK usando o cabo de programação (veja acima) e o ST-LINK ao PC host.
- Conecte o cabo USB (ou fonte de alimentação) ao CFA10052.
- Certifique-se de que o projeto de firmware tenha sido construído (consulte as etapas acima) e que "Binários" apareça em "cfa10052_example" no Project Explorer.
- Se "Binários" não estiver visível, clique com o botão direito do mouse no projeto "cfa10052_example" e selecione Atualizar.
- Selecione o menu Executar e, em seguida, "Configurações de depuração".
- Na caixa de seleção de tipos de destino de depuração à esquerda, clique com o botão direito em "Aplicativo STM32 Cortex-M" e selecione "Nova configuração".
- Uma janela de configuração será exibida. As configurações padrão estão OK. Clique em Aplicar e depois no botão Fechar.
- No menu Executar, selecione "Depurar como" e, em seguida, "Aplicativo STM32 Cortex". O STM32CubeIDE agora deve se conectar ao ST-LINK, fazer o upload e executar o firmware no CFA10052.
As etapas acima são necessárias apenas ao carregar o projeto pela primeira vez no STM32CubeIDE. Após as alterações do código-fonte do firmware terem sido feitas, apenas reconstruir o projeto (atalho Ctrl-B) e programar o CFA10052 (tecla de atalho F11) são necessários.
O firmware também pode ser carregado por meio de qualquer um dos métodos normais de bootloader STM32 (a depuração só está disponível usando a interface SWD e um ST-LINK). Por exemplo, se estiver usando uma conexão serial, USART1 pode ser usado (RX = H1-Pin1 e TX = H1-Pin2). Para obter informações mais detalhadas sobre o carregador de inicialização STM32 e interfaces, consulte o PDF aqui.
Etapa 4: Licenças
O código-fonte fornecido pela Crystalfontz é fornecido usando The Unlicense, uma licença sem quaisquer condições que dedica as obras ao domínio público. Trabalhos não licenciados, modificações e trabalhos maiores podem ser distribuídos sob diferentes termos e sem código-fonte. Consulte o arquivo UNLICENCE ou unlicense.org para obter detalhes.
STM32CubeIDE criou o código-fonte e as bibliotecas STMicroelectronics são Copyright (c) 2019 STMicroelectronics. Todos os direitos reservados. O componente de software é licenciado pela ST sob a licença BSD de 3 cláusulas, a "Licença"; Você não pode usar esses arquivos, exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em opensource.org/licenses/BSD-3-Clause.
Recomendado:
Adesivo Eletrônico: Idéias para Hackear La Ciudad: 5 etapas
Fotomural Electrónico: Ideas Para Hackear La Ciudad: Podemos usar os postes da cidade para hacer diversas cosas, haremos um adesivo para hacer un driver y jugar pac-man.Materiales Vinil Tinta conductiva Kit Makey Makey (contém Alligator Clips e um cabo USB. Herramientas Plotter de
Hardware e software hackear dispositivos inteligentes, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 etapas
Hackear dispositivos inteligentes de hardware e software, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: Neste Instructable, mostro como fiz o flash de vários dispositivos inteligentes com meu próprio firmware, para que possa controlá-los por MQTT por meio de minha configuração do Openhab. novos dispositivos quando eu os hackeei. Claro, existem outros métodos baseados em software para fazer flash customizado f
HacKIT: um kit Civic Privacy Hard (wear) para hackear Alexa, Google e Siri: 4 etapas
HacKIT: um kit Civic Privacy Hard (wear) para hackear Alexa, Google e Siri: Cansado do seu " inteligente " dispositivos espionando você? Então, este kit de ferramentas de vigilância de hackers é para você! HacKIT é um kit difícil (de vestir) de privacidade cívica de baixa a alta tecnologia para redesenhar, hackear e recuperar o Amazon Echo, o Google Home
Hackear GMC Geigercounter com Blynk: 4 etapas
Hackear GMC Geigercounter com Blynk: Embora meu GMC-320 Plus Geigercounter tenha Wi-Fi embutido, eu realmente não fui capaz de usá-lo. É por isso que eu queria construir um dispositivo, que pode transmitir os dados gravados para o meu celular / web enquanto adiciona recursos adicionais como uma dose cumulativa, Wi
Como hackear um dispositivo Sonoff: 5 etapas
Como hackear um dispositivo Sonoff: Prakhar Agrawal Junior Researcher (IoT Exploits )INTRODUÇÃO DE HARDWARE SEGURO Nesta postagem, discutiremos como carregar um firmware personalizado no dispositivo Sonoff e controlá-lo usando seu endereço IP.APPROACHEstamos usando os pinos uart no a