CMSIS configurator MCC-LIKE — VS Code
Interface integrada em uma aba do VS Code, com uma cópia independente do gerador
Python 0.11.0. A aplicação desktop original permanece intacta.
Instalar e abrir
- Use Extensões → ⋯ → Instalar do VSIX… e selecione o arquivo em
dist/.
- Abra uma pasta de projeto confiável no VS Code.
- Execute MCC-LIKE: Abrir configurador / Open configurator na paleta de comandos.
- Use Abrir projeto para um arquivo
.h3.json existente ou Novo projeto.
Também há um comando no menu de contexto de arquivos .h3.json no Explorer.
O configurador abre dentro do editor. Não abre a interface Tkinter.
Recursos
- Catálogo PIC32CM com 73 part numbers em 9 famílias, incluindo o backend PV20 beta.
- Filtros por família/disponibilidade e indicação dos packs e ferramentas ausentes.
- Pastas sugeridas e instalação inicial automática com Java privado para Windows x64 e Linux x64/ARM64,
além de importação local de packs beta.
- Seleção AC6/GCC ao criar o projeto e no painel RTE / CMSIS, com download automático do GCC ausente.
- Criar, abrir, salvar e gerar projetos compatíveis com o desktop.
- Grafo de componentes com seleção, adição/remoção e posições arrastáveis salvas.
- Propriedades hierárquicas, filtros, símbolos internos, valores calculados e opções.
- Visualização do encapsulamento, matriz de sinais, GPIO, aliases, pull e pinmux.
- Clocks, interrupções, DMA, watchdog e sistema pelas propriedades do dispositivo.
- Compatibilidade MCC opcional, delay_ms/delay_us, USART stdio/printf e callbacks/ISRs
conforme as mesmas regras e limitações do gerador original.
- Lista RTE, perfis de gravadores Microchip e clock SWD.
- Visualização de código e abertura dos arquivos gerados no editor.
- Português/English, logo Microchip central e seleção de idioma à direita.
- Diagnóstico no painel Output e recuperação da última sessão após reabrir o VS Code.
As limitações dos packs e do gerador original continuam válidas: por exemplo,
PV20 beta não inclui editor Touch ou sintetizador CLB e alguns modos exigem
inicialização em user_peripherals/. Textos fornecidos pelos packs mantêm o idioma
do fornecedor. O desenho do encapsulamento apresenta a ordem dos pinos do pack,
sem pretender reproduzir a geometria mecânica de cada encapsulamento.
Compilador AC6 ou GCC (0.1.4)
Em Novo projeto → Compilador, escolha AC6 (Arm Compiler 6) ou
GCC (Arm GNU Toolchain). Para trocar em um projeto existente, use
RTE / CMSIS → Compilador e depois Salvar / Gerar. Projetos antigos
sem essa seleção continuam em AC6.
A escolha é salva no .h3.json e define compiler na csolution, a ferramenta
em vcpkg-configuration.json, o startup/linker do DFP e o retarget de printf.
Os diret?rios tmp/AC6, tmp/GCC, out/AC6 e out/GCC separam o cache e
os bin?rios dos compiladores para permitir a troca sem limpeza manual.
GCC usa Arm GNU Toolchain 14.3.1, newlib-nano, _write para a USART selecionada
e heap limitado à reserva do linker. AC6 mantém o retarget da biblioteca Arm.
main.c, callbacks e alterações manuais de startup são protegidos na regeneração.
Ao criar/abrir um projeto GCC, trocar para GCC ou gerar, a extensão solicita
acquirePackages à API oficial do Arm Tools Environment Manager. A versão
necessária é reutilizada se já estiver no cache; caso contrário, é baixada e
instalada automaticamente para Windows/Linux no cache do gerenciador. O VS Code
instala essa extensão como dependência do MCC-LIKE. Por padrão o cache fica em
%USERPROFILE%\.vcpkg no Windows ou ~/.vcpkg no Linux; o destino personalizado
environment-manager.vcpkgRoot também é respeitado. Não requer MPLAB X.
A aquisição usa exatamente a mesma versão referenciada no projeto, evitando uma
segunda instalação na pasta privada de Java. Abra a csolution gerada na extensão
CMSIS: o ambiente ativa o compilador do cache para o build. Não altera o PATH do
sistema. Falhas de download são exibidas e podem ser repetidas selecionando GCC
novamente. cmsisMcc.autoInstallDependencies=false desativa a aquisição automática.
Referências: API do Arm Tools Environment Manager,
formato CMSIS,
syscalls newlib.
Dependências e ferramentas
Python 3.10+; Tkinter não é necessário para a interface da extensão. Configure
cmsisMcc.pythonPath se a detecção automática não encontrar seu Python.
Os packs vêm de CMSIS_PACK_ROOT ou do local padrão. A versão 0.1.3 inicia a
preparação de Java, CSP e runtime assim que o configurador abre em uma pasta confiável.
Os packs públicos ausentes são instalados ao criar ou abrir o projeto escolhido.
Não é necessário instalar MPLAB X. Python 3.10+ continua sendo um pré-requisito.
O botão Instalação / Packs e as configurações cmsisMcc.* permitem definir
Python, packs, CSP, MCC Core e Java. Os caminhos são configurações da extensão,
separadas dos arquivos do configurador desktop.
Pastas sugeridas e preparação automática (0.1.3)
As pastas são sugeridas na tela inicial e os campos de Instalação / Packs vêm
preenchidos com o caminho configurado, detectado ou sugerido. É possível editar
os caminhos; diretórios e ferramentas já configurados são preservados.
| Conteúdo |
Windows |
Linux |
| Ferramentas privadas |
%LOCALAPPDATA%\CMSIS-Configurator\tools |
$XDG_DATA_HOME/cmsis-configurator/tools, ou ~/.local/share/cmsis-configurator/tools |
| Packs CMSIS |
%LOCALAPPDATA%\Arm\Packs |
~/.cache/arm/packs |
| Java, relativo à pasta de ferramentas |
java\bin\java.exe |
java/bin/java |
| CSP, relativo à pasta de ferramentas |
csp\v3.26.0 |
csp/v3.26.0 |
| Runtime, relativo à pasta de ferramentas |
runtime\2.7.0-2.3.23 |
runtime/2.7.0-2.3.23 |
CMSIS_PACK_ROOT tem prioridade sobre a pasta de packs padrão. Um XDG_DATA_HOME
relativo é ignorado, conforme a especificação XDG. A configuração
cmsisMcc.toolsRoot permite escolher outra pasta para as ferramentas. Uma instalação
existente da versão 0.1.2 no globalStorage/tools é reutilizada automaticamente.
Novo projeto mostra todos os dispositivos previstos, mesmo quando seus packs
não estão instalados. A versão 0.1.0 ocultava dispositivos sem packs/CSP locais,
o que podia fazer a extensão publicada apresentar somente PL10.
| Família PIC32CM |
Part numbers |
DFP de referência |
| JH |
24 |
PIC32CM-JH_DFP 1.7.296 |
| LE |
8 |
PIC32CM-LE_DFP 1.4.336 |
| LS |
11 |
PIC32CM-LS_DFP 1.4.351 |
| MC |
4 |
PIC32CM-MC_DFP 1.5.244 |
| PL |
11 |
PIC32CM-PL_DFP 1.5.437 |
| GV |
6 |
PIC32CM-GV_DFP 1.3.47 |
| PV20 (beta) |
3 |
PIC32CM-PV_DFP 1.0.26 |
| GC00 |
3 |
PIC32CM-GC00_DFP 1.0.27 |
| SG00 |
3 |
PIC32CM-SG00_DFP 1.1.56 |
O catálogo contém identidades e encapsulamentos verificados nos PDSCs/ATDFs.
Os packs, CSP, runtime, Java e Python não estão incluídos no VSIX.
Para gerar no outro computador:
- Abra o configurador e acompanhe a instalação inicial automática. As pastas
aparecem na tela inicial. Se houver falha de rede, use Instalar ferramentas /
tentar novamente, também disponível em Instalação / Packs. O catálogo
permanece acessível mesmo quando a preparação inicial falha.
- Selecione o part number em Novo projeto e clique em Instalar e criar
(ou Criar projeto, quando já estiver pronto). A extensão baixa os itens ausentes e continua
a criação automaticamente. Ao abrir um projeto existente, a mesma preparação
acontece antes de carregá-lo. Instalar dependências prepara apenas as ferramentas.
- Acompanhe a notificação de progresso ou Diagnóstico. A primeira instalação
pode levar alguns minutos. Em caso de falha de rede, corrija a conexão/proxy e
tente novamente: downloads completos e verificados são reutilizados.
- Para PV20 beta, use Importar packs… e selecione os arquivos
.pack/.atpack
fornecidos pela Microchip: Microchip::PIC32CM-PV_DFP@1.0.26 e
Microchip::CMSIS-Driver_PIC32CM-PV@1.0.0. Eles não estão disponíveis publicamente
para download automático. PV20 não requer CSP/Java.
Para JH/LE/LS/MC/PL/GV/GC00/SG00, a preparação instala somente o que faltar:
- DFP da família e, para PL,
Microchip::CMSIS-Driver_PIC32CM-PL@1.3.4, no diretório
CMSIS selecionado, a partir do repositório oficial Microchip.
- Harmony CSP 3.26.0.
- Runtime mínimo do gerador: Jython Standalone 2.7.0 e FreeMarker 2.3.23, obtidos
do Maven Central. A aplicação MCC Core completa não é necessária.
- Eclipse Temurin Java 8, em Windows x64
ou Linux x64/ARM64 com glibc. O arquivo ZIP/TAR.GZ correspondente é escolhido
automaticamente. O runtime é privado: não altera
PATH, JAVA_HOME, registro
do Windows ou o Java de outros programas e não exige administrador/sudo.
As instalações são verificadas por SHA-256, extraídas em diretórios temporários
e ativadas somente após a validação. A extração Linux mantém as permissões de
execução e transforma links internos validados em cópias locais. Arquivos de licença
dos fornecedores são mantidos.
cmsisMcc.autoInstallDependencies vem habilitado por padrão. Desabilite-o para
preparação exclusivamente manual (recarregue a janela após alterar a configuração).
Instalações existentes continuam sendo detectadas; os caminhos em Instalação / Packs
permitem selecionar outras ferramentas. Em plataformas diferentes das listadas acima,
configure um Java compatível manualmente. Os downloads usam HTTPS, a configuração
de proxy reconhecida pelo Python e as variáveis HTTPS_PROXY/HTTP_PROXY.
A descoberta considera o diretório selecionado em cmsisMcc.packRoot ou
CMSIS_PACK_ROOT, o diretório padrão Arm/Packs, .mchp_packs, packs do MPLAB X
e o cache local do configurador. O painel Diagnóstico informa os diretórios
consultados, as famílias e quantos dispositivos estão prontos. O filtro
Prontos para criar permite mostrar apenas os utilizáveis nessa instalação.
Após gerar, abra/selecione a csolution correta na extensão Arm CMSIS Solution.
Os botões Build, Load, Load & Run, Load & Debug, Attach Debugger e RTE chamam os
comandos da extensão CMSIS; não executam cbuild ou gravadores por conta própria.
Essas ações usam a solução ativa da extensão CMSIS, que deve ser a mesma do configurador.
Preservação dos dados
Fechar a aba mantém a sessão no processo da extensão. Alterações concluídas têm
um checkpoint separado no armazenamento da extensão; reabrir o VS Code oferece
restauração. Campos ainda não aplicados devem ser aplicados antes de fechar a janela.
Salvar ou gerar grava o projeto na pasta escolhida pelo usuário. Mudanças externas
no .h3.json bloqueiam gravação até reabrir; a geração mantém a proteção do manifest
e dos arquivos de usuário do gerador original.
Desenvolvimento
Abra esta pasta e pressione F5 para iniciar um Extension Development Host.
A extensão usa JavaScript e APIs nativas do Node, sem dependências npm de runtime.
python scripts/translations.py
python -m unittest discover -s tests -p "test_*.py" -v
node --test tests/bridge.test.js
python scripts/package.py
O empacotador local gera o formato VSIX para instalação privada, sem publicar no Marketplace.
Pacote para o Marketplace
O Publisher ID desta distribuição é RodrigoBritto. Selecione esse mesmo
publicador no portal e escolha o tipo Visual Studio Code para o upload.
O pacote para envio é dist/RodrigoBritto.cmsis-configurator-mcc-like-0.1.4.vsix,
gerado com o empacotador oficial @vscode/vsce.
O arquivo anterior cmsis-configurator-mcc-like-0.1.0.vsix usa o identificador
rfbri e permanece disponível para a instalação local anterior. Os dois IDs de
publicador representam extensões diferentes no VS Code.
Para novos pacotes públicos, use Node.js/npm e o empacotador oficial:
npx @vscode/vsce package --no-dependencies --allow-missing-repository --out dist/RodrigoBritto.cmsis-configurator-mcc-like-0.1.4.vsix
A licença de distribuição ainda deve ser definida pelo autor. O pacote de
correção foi gerado com --skip-license, sem atribuir uma licença em seu nome.
Para disponibilizar a correção, use Update na extensão já publicada pelo
publisher RodrigoBritto e envie o VSIX 0.1.4. O identificador permanece
RodrigoBritto.cmsis-configurator-mcc-like. A geração local do pacote não o
publica automaticamente no Marketplace.