[其他]设计开发

目录

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,提前的摸底测试
  • 跌落测试
原文地址:https://www.cnblogs.com/aaronLinux/p/7685138.html