• [其他]设计开发


    目录

    1. 设计

      • 调试接口预留,生产之后Disable
      • 芯片低功耗
        •   失能不使用的外设模块
        •   根据芯片引脚特性拉高拉低不使用的io
        •   不超频
      • 电路板开发测试程序
        •   EMC/EMI测试程序
        •        压力测试程序
        •        老化测试程序
        •        FCT测试程序
      • 远程升级
        •   回滚
        •   双bank切换
      • 返厂维修
      • 网络安全/硬件安全/固件安全/软件安全
        •   root用户处理
        •   密码16位随机数处理
        •   调试口处理: 不焊/软件disable
        •   关键数据加密
        •   加密芯片: ECC508(Atmel)
        •   加密算法:RSA+AES
        •   Secure Boot
      • 模块Reset接口预留
        •   4G/wifi/zigbee等模块复位接口预留
        •         模块定时自检 

    2. 设备接口

      • Wifi
        •   Tools:wireshark, wifi analyzer, iperf, NetworkManager, nmcli 
      • DDR
        •     Stress Test: memtester Tool (open source)
        •     Burst mode
      • eMMC
        •   Stress Test
        •   cache disable
      • MMC总线:
        • 数据保护
          •   掉电数据保护:PFO
          •   只读分区
          •   EMMC slc模式,镁光半导体工程师建议,现在一般不建议slc模式,直接mlc,在新的eMMC5.0下,固件已经可以很好的处理写入和读出的同步,且用户不用关心eMMC掉电,上电遇到的damage相关的问题,直接使用即可。
          •   EMMC cache Disable
          •   Partition划分
        • 总线特性
          •   有HighSpeed和NormalSpeed
          •   有SDIO/SPI...
        • EMMC
          •   Stress Test: stressapptest(但是不支持armv7l), https://github.com/stressapptest/stressapptest
          •        cache disable
          •        EMMC速率设置:查看信号线波形
          •   EMMC 产品Release FCT校验,一般来说整片校验EMMC设备的情况话费时间太久,所以FCT只会做小文件的读写校验
        • SD card/Wifi
          •   SD通信速率: 信号线上的波形如果呈现三角波或者正弦波,则需要降低频率
          •   Wifi由原来的24M设置为8M,波形明显变好
          •   SD卡在uboot内由原来的52M设置为10M才勉强启动起来,当然由于排线外接SD卡座导致,正常同一块PCB板52M没有问题
    • I2C总线
      • 总线特性
        • HighSpeed/NormalSpeed
      • 总线地址
        • 通常需要在地址高位补
      • I2C转GPIO
        • 在MCU/MPU GPIO资源不足的情况下,使用I2C-GPIO转换芯片转换GPIO,如PCA9555    
    • Ethernet
      • Phy芯片功耗过高,或者RE/CE过不了,需要通过将芯片的Power Down掉,简单的拉低所有gpio无法做到上述目的
      • phy地址由硬件电路决定,和I2C的地址一样,需要通过devicetree传给驱动
    • SPI总线
      • SPI转Uart
        • 1路SPI转2路Uart,如SC16..
    • GPIO

    3. 开发术语

    • 回归测试:代码修改之后测试
    • 冒烟测试:版本验证测试

    4. 产品开发周期

    •  前期硬件的FEMA/DEFEMA,项目的FEMA/DEFEMA
    • 硬件芯片选型
    • 原理图设计/Layout
    • 结构设计
    • 软件的预研/评估
    • 硬件打板调试
    • 软件的新板调试代码
    • 软件的设计文档
    • 软件的coding
    • 软件的测试用例/TestCase
    • 样机
    • 硬件的EMC/EMI
    • CQC
    • 工厂的FCT/ATS
    • 镜像
    • 小批试制
    • 量产爬坡

    5. 工厂流程

    • ICT/FCT/ATS
    • 程序烧写:串口Bootloader+网口kernel/rootfs
    • 返厂维修

    6. 开发工具

    • Countour:需求管理
    • Atlassian Bamboo: 自动编译/测试/Release,可以通过SVN或者GIT打tag的方式,获取tag, 自动Release出镜像结果文件
    • Atlassian JIRA:Task/Issue管理工具
    • Atlassian Fisheye: 线上追踪/查看代码
    • Atlassian Confluence: 线上分享开会结论等
    • Atlassian Crucible:code review
    • Atlassian Bitbucket: GIT server
    • TestLink: 一款开源的TestCase工具
    • GIT/SVN:版本管理
    • PLM:产品生命周期管理,料号/设计文档/ReleaseBinary等
    • gitlab:用于仓库管理的开源项目
    • gerrit: 免费开源的代码审核系统

    7. 常见测试

    • 软件的回归测试
    • V&V: Validation Test/Verification Test: 确认/验证
      • Power on/off: 2000次随机on/off
    • 黑盒测试/白盒测试
    • Engineer Test/QA
    • ICT/FCT/ATS
    • EMC/EMI,Surge/EFT/ESD/Transient
    • CQC,提前的摸底测试
    • 跌落测试
  • 相关阅读:
    github提交忽略idea
    快速上手 Python 命令行模块 Click
    Clean Python第四章元类部分 4-15演示代码修正
    Python Type Hint类型注解
    docker运行python3.8
    python3 aes加解密代码(PCKS7,CBC模式,Base64结果)
    从源代码分析Universal-Image-Loader中的线程池
    从源代码分析Android-Universal-Image-Loader的缓存处理机制
    从源代码分析Android-Universal-Image-Loader图片下载技巧
    【译】UNIVERSAL IMAGE LOADER.PART 2---ImageLoaderConfiguration详解
  • 原文地址:https://www.cnblogs.com/aaronLinux/p/7685138.html
Copyright © 2020-2023  润新知