跳转至

嵌入式

MCU 开发

开发流程(有实际硬件 vs 无实际硬件)

flowchart TD
    A[代码] --生成--> B[hex 文件]
    B --烧录--> C[实际芯片]
    C --连接--> D[实际输出设备]
    D --显示--> E[实际结果]

    B --加载--> F[模拟芯片]
    F --连接--> G[模拟输出设备]
    G --显示--> H[模拟结果]

VSCode + PlatformIO IDE + SimulIDE

  • VSCode 写代码
  • PlatformIO IDE 生成 hex 文件
  • SimulIDE 绘制电路图,将模拟芯片和模拟输出设备连接,加载 hex 文件并运行,可视化地查看结果

全流程开源且无需实际硬件

mcs51

由于 vscode-cpptools issues#2499,目前VSCode 官方的 C/C++ 插件并不支持 SDCC 拓展的一些类型。

可以手动修改 .vscode\c_cpp_properties.json 让编辑器识别这种拓展类型。

{
    "configurations": [
        {
            "defines": [
                // others
                "__sfr=unsigned char",
                "__sbit=int",
                "__at(a)= ",
                ""
            ],
        }
    ]
}

FPGA 开发

前端,描述数字电路设计,最基本的单元是逻辑门,输出门级网表;后端,布局布线,将门级网表变成比特流烧录进芯片中

iverilog + gtkwave 该软件有 dll 依赖,可能污染系统环境,建议在 MSYS 里用 pacman 装(不过说实话,随着安装的工具变多,MSYS 环境早晚会和系统环境冲突,要编译程序最好还是先进入 MSYS 环境,而不是在系统环境中直接编译)