芯片行业BSP驱动开发1年总结

文章讲述了作者在半导体公司从事BSP驱动开发和FAE工作的心得,包括Norflash模块的管理,新Flash的接入步骤,DEBUG过程,FlashLoader的理解与调试,第三方库代码移植的流程,FAE工作中的客户问题处理,以及Git工具的日常使用。通过这些经验,作者构建了对嵌入式体系架构的理解,并分享了对FAE+研发模式的看法。
背景:细分领域的半导体龙头企业,BSP驱动开发。
目的:1.总结开发经验,构建我的嵌入式体系架构。2.总结工程项目经验,探讨清楚工作的本质。

序:我在公司的工作分为两个部分:BSP驱动开发和对接客户的FAE工作。而BSP驱动开发又主要分成两个部分:1.第三方库的代码移植以及调试工作。2.Norflash模块驱动管理。于此同时,FAE的任务是服务客户,与客户对齐复现项目的问题点。

Norflash模块驱动管理

首先norflash是一个常用的储存器,它的主要作用是:XIP功能和储存数据。它能直接成为CPU的代码执行介质,也就是说是SRAM的后备役。 实际工程使用中,我一共接到了三种不同的需求:

 1.给主核芯片外挂一个新型号的Norflash
 2.Norflash在实际使用中,跑的代码挂掉,需DEBUG
 3.芯片的J-LINK烧录所需的flashloader烧录算法

外挂新的flash

这是我初入职场时接到的第一个正式项目,说实话一开始还是非常懵逼的。如何把一个新的储存器接入到公司的芯片?经过漫长的经验总结,无非以下几个步骤:

第一,调试FLASH的代码必然是运行在SRAM的,在公司代码框架中找到对应跑SRAM的代码(target)

第二:Norflash型号极多,这些不同型号的Norflash参数,我们将其设置成一个节点,并把这些节点挂在一个链表上面。

第三:怎么才能锁定你所需要型号的Norflash参数呢?答案是硬件ID,通过SPI接口循环发送9F命令,Norflash返回相应的ID号,主控芯片获取该ID号之后,遍历链表找到相应的Norflash各种参数,以进行后续操作。

在这里插入图片描述
第四:使用Norflash有许多参数要参考其原厂的datasheet。比如:开启DTR模式设定的dummy值;开启四线读模式设定的wrap相关的值;

第五:跑过测试程序。注意这里的测试框架已经构建好了,本质是对整一块Norflash进行读写擦除。

第六:DEBUG。实际过程中肯定不会这么顺利地就完成以上四个步骤。所以逻辑分析仪显得尤为重要,这里我们需要找硬件同事把Norflash芯片引脚飞线出来,然后抓取波形解码。(示波器也可以)通过对波形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值