REQUISITOS
Uma máquina de desenvolvimento Linux funcional (foi utilizado WSL2 com UBUNTU 24)
Configuração de acesso ssh ou similar.
1 Baixando o SDK e Toolchain , bem como o QTcreator
Primeiro clone o SDK e TOOLCHAIN e então compile, temos que ver como é com linha de comando.
milkv-duo/duo-tdl-examples: Duo TDL-SDK samples
Introdução
O programa TDL-SDK precisa ser compilado de forma cruzada no ambiente Linux do host do PC, como o sistema Ubuntu 22.04.
Atenção, colocar última IMG no seu MILK-V
Releases · milkv-duo/duo-buildroot-sdk-v2
Baixar conjunto de ferramentas e compilação
Baixe o código fonte do TDL-SDK
git clone https://github.com/milkv-duo/duo-tdl-examples.git
Prepare ambiente para compilação (Build)
cd duo-tdl-examples
source envsetup.sh
Select Product:
1. Duo (CV1800B)
2. Duo256M (SG2002) or DuoS (SG2000)
Compile sample_vi_od
Instalando QT
2 Importe a pasta TDL para dentro do QtCreator
Inicie sempre o QtCreator desta forma
Desta forma as variáveis de ambiente ficarão memorizado pelo QT.
No Qt, selecione "File" → "New Project" → "Import Project" na barra de menu principal. Ele pode se mover entre as versões, mas você deve acabar com um diálogo semelhante à imagens abaixo:
Aponte então para
Você terá esta imagem final.
3 Chamando Scripts de dentro do QT
Mas como compilar um programa ? Em linha de comando você entra na pasta do programa e executa make
Vamos fazer o mesmo dentro do QtCreator, vá no Menu Lateral "Projects" e então em "Build"
Altere "Build Directory" para
/home/ubuntu/duo-tdl-examples/sample_vi_od
Altere "Build Steps" para
make -j4 in /home/ubuntu/duo-tdl-examples/sample_vi_od
Ao clicar no ícone "Build" (martelo) (abaixo, canto esquerdo), o "make" será chamado.
4 Crie um 'Dispositivo' (Device)
O QtCreator entende vários tipos de dispositivos: Desktop, celulares e dispositivos embarcados, para citar alguns. 'Dispositivos' contêm informações sobre como implementar um binário e como se conectar ao dispositivo. Criaremos um dispositivo referente ao Milk-V Duo/S'.
Abra a caixa de diálogo 'Preferences' novamente. Agora você já deve estar familiarizado com como fazer isso. Clique
- Devices
- A aba "Devices".
- "Add…"
como na imagem abaixo.
Na caixa de diálogo pop-up, conforme mostrado na imagem abaixo, clique
- "Remote Linux Device"
- "Start Wizard"
Agora será apresentada uma caixa de diálogo semelhante à da figura abaixo .
- Insira um nome que você ache adequado. Já que estamos montando uma placa Milk-V Duo, 'Milk-V Duo' é um ótimo nome, eu acho. Muito melhor que "BeagleBone(r) Black Industrial", pelo menos.
- Insira o endereço IP ou nome do host. Supondo que você tenha configurado conexões ssh insira 'milkvduo'
- Digite a porta, sua placa está escutando. A menos que você tenha mudado deliberadamente a configuração ssh na placa , digite 22.
- Insira o usuário com o qual você quer fazer login. Para placas pristine, é 'root'. Se você alterou isso, consulte o item 3, frase 3 acima.
- Por fim, clique em "Next"
Agora você será presenteado com a possibilidade de implantar chaves para seu Milk-V Duo como na imagem abaixo. Não faça isso. Eu assumo que você já fez isto , então simplesmente clique em "Next".
Após clicar em "Next", o QtCreator testará a conexão com seu novo 'Device' e, eventualmente, você verá algo semelhante às imagens abaixo (terceira e quarta). Se você vir algo que pareça "sem sucesso", tente desligar e ligar o computador novamente e começar tudo de novo. Vamos supor que você está com sorte e simplesmente clicar em "Close"
Agora você está pronto para criar um 'kit' 🥳
Finalmente é hora de executar o programa no seu Milk-V Duo/S.
- Clique em "Projects"
- Selecione o projeto em que estamos trabalhando.
- Selecione a opção relevante "Run"
Isso deve abrir algumas configurações na janela principal, como na imagem abaixo:
Você precisa excluir todas as etapas de implantação existentes. No exemplo da imagem acima, há duas etapas de implantação existentes:
- "Kill current application instance". Veja ①.
- "Deploy files". Veja ①.
Você pode excluir essas etapas clicando no 🞫 à direita, veja ➁, mas por algum motivo foi decidido ocultá-las até que você passe o mouse lá, então mova seu mouse para as áreas marcadas com ➁ e os 🞫es aparecerão (veja ➂). Clique nos 🞫es e vá embora com essas etapas de implantação irritantes.
Agora, adicionaremos nossa própria etapa de implantação. Clique em "Add Deploy Step", selecione "Custom Process Step" e preencha os detalhes relevantes como na imagem abaixo:
- Entrar
/usr/bin/scp
como "Command" - Entrar
-O sample_vi_od root@192.168.100.29:/root
como "Arguments" - Entrar
%{buildDir}
como "Working directory"
Eventualmente, seu comando inteiro, veja ➃, deve ficar assim: scp -O sample_vi_od:
. Vamos dividir isso:
scp
- Este é o utilitário de linha de comando que executará a cópia do seu executável da sua máquina de desenvolvimento para o seu Milk-V Duo/S
-O
- Este sinalizador diz
scp
para usar um protocolo mais antigo. Isso pode ou não ser estritamente necessário dependendo do seu Milk-V Duo/S. - sample_vi_od
- Este é o nome do executável que será copiado para o Milk-V Duo/S. sample_vi_od:
root@192.168.100.29:/root
- Este é o host e o caminho para onde queremos copiar o executável.
Vários desses valores podem ser extraídos do kit ou Build system usando o sistema de substituição de variáveis do QtCreator, mas por enquanto isso está mais claro e fácil de entender. Usar variáveis é deixado como um exercício para o leitor.
Agora é hora de configurar a execução real do binário no seu Milk-V Duo/S. Este é o passo "Run" e vamos configurar essa linha na imagem abaixo .
- Marque a opção "Use this command instead"
- Digite `/root/sample_vi_od` como "Executable on host"
- Digite `/root` como "Working directory"
e deixe todo o resto como deveria estar. E isso é tudo. Agora você configurou o QtCreator para Build, Deploy.
🎉 🥳
Clicamos ansiosamente **RUN e olhamos para a saída do aplicativo na visualização de relatório e vemos a saída na imagem abaixo:
Parabéns! Você configurou o QtCreator para Build, Deploy em aplicativos TDLpara e no seu Milk-V Duo/S
Se você tiver alguma dúvida, comentário ou correção, por favor, deixe-me uma mensagem usando o formulário abaixo. Obrigado pela leitura!
5 Notas
Atenção (WSL2)
For users with old(ish) WSL2 Ubuntu installation who experiencing Can't open display
error, the easy fix is:
wsl --unregister ubuntu
wsl --install -d ubuntu
wsl --update
Run Ubuntu --> register your user name and password, then:
# Install X-service
sudo apt update
sudo apt install x11-apps
# Test
env | grep -i display
# Should return:
# WAYLAND_DISPLAY=wayland-0
# DISPLAY=:0
xeyes &
xcalc
Referências:
duo-examples/blink at main · milkv-duo/duo-examples
https://milk-v.blogspot.com/2024/06/introducao-wiringx-e-uma-biblioteca-que.html
A SMARTCORE FORNECE CHIPS E MÓDULOS PARA IOT, COMUNICAÇÃO WIRELESS, BIOMETRIA, CONECTIVIDADE, RASTREAMENTO E AUTOMAÇÃO. NOSSO PORTFÓLIO INCLUI MODEM 2G/3G/4G/NB-IOT, SATELITAL, MÓDULOS WIFI, BLUETOOTH, GPS, SIGFOX, LORA, LEITOR DE CARTÃO, LEITOR QR CCODE, MECANISMO DE IMPRESSÃO, MINI-BOARD PC, ANTENA, PIGTAIL, BATERIA, REPETIDOR GPS E SENSORES.