2013年:一个技术领导的启程

原文链接:http://blog.youkuaiyun.com/clever101/article/details/17900217

作者:朱金灿

来源:http://blog.youkuaiyun.com/clever101

 

        又到一年总结时。总的来说,这一年忙碌而充实,现在有点胸中有千言却又不知从何说起。可能每一个希望有所作为的开发人员都盼望着有一个机会去主导一个产品的开发,去改变人们的生产和生活方式,就如同比尔.盖茨曾说的:每天清晨当你醒来的时候,都会为技术进步给人类生活带来的发展和改进而激动不已。我幸运地得到了这样的机会——去领导一个团队去开发一个新产品,这要感激公司领导尤其是我的部门总监对我的赏识。

 

        我在《略谈中国软件产品化的路线图》一文中谈到做了一定数量项目时公司需要有产品化意识,通过构建一个通用化的产品平台来更好支持项目开发。这就涵括我在2013年的主要工作:一方面要研发一个通用平台,另一方面我要做好这个平台的项目应用和推广的技术支持工作。

 

        理想很丰满,现实很骨感!做产品可能是每一个渴望有所作为的开发人员都愿意去做的,但当你真的去做时,却发现前方障碍不少!

 

        最初人手紧缺且基本是团队成员普遍存在经验不足和能力不足的问题。最初在产品研发方面只有我带着一个女生在干。正式开发时我才发现自己严重缺乏领导一个产品开发团队的经验,简单来说主要问题就是如何通过合理安排下属的工作来使得各项研发工作得以并行展开。我设计的这个平台是插件架构的,设想是有一个平台底层,上层功能都有互补依赖的插件来实现,有两个开发团队——底层开发团队和上层插件开发团队,这样在理想状态下底层开发支撑上层功能开发,上层功能开发过程中反馈不足给底层促进底层完善,二者相互促进。但是一开始事情陷入一个死结:白纸一张,没有底层,如果底层都由我开发,在我开发底层的时候安排那个女生干什么事情呢?总不能我在忙碌她闲得要命吧,但是底层代码很重要,我又不放心把如此重要的工作交给一个底层开发能力不足的女生,想想地基不牢的话,大楼能稳固才怪呢。最后我想了个折中的办法:尽量将底层开发工作也并行展开,具体就是将底层开发也尽量划细,我感觉其中实现难度稍小的部分就让那个女生来做的就交给她来完成,同时加强对她的代码的检查,尽量做到发现问题快速修改。就这样我们逐渐开发一个足以支撑插件开发的轻量级底层,我逐渐接手底层开发,那个女生逐渐转入插件开发。这算是解决了面临的一大挑战。事后我总结:安排工作一定要做到并行展开,依据其能力大小进行分配,同时最好需要一个提前量。很多技术高手升级为管理者,往往还是独行侠作风,很多工作不敢分配给下属,觉得别人干半天还比不上自己干一小时快,其实这是不可取的,这样做自己忙得要死,下属得不到锻炼,没有成长,一年到头也没做出什么成绩。一个合格的管理者,是要带领一个团队前进,而不仅仅自己前进。

 

        通过领导一个团队我也渐渐体会到领导就意味着责任,就意味着没有退路。以前碰到技术难题领导会帮你解决,现在很多时候一个刁钻的技术问题就卡在那里,不解决它就无法前进,这个时候团队的其他人都无法帮你,大家都看着你去解决。幸运的是在这一年我算是多次通过了这样的考验,从另一方面来说这也是提高自己的机会,它会促使你完善自己思维方面的漏洞,以更高效的方式完成工作。

 

        然后当产品初具雏形时,公司领导要求将产品SDK应用在一个项目开发中,具体是我们提供产品的通用功能及SDK供项目部同事用于二次开发。用户是检验产品的最好老师,我们团队又开始面临项目部的同事以及最终用户的“刁难”:这个功能怎么还没有,什么时候能完成?这个功能怎么还有bug?底层能不能提供这样的接口……抱怨告状纷至沓来,开始我也对项目部同事恼火:就不能多给我一点时间和耐心,但想到他们面对的是更为苛刻的用户,也就理解了。于是就竭尽全力去解决他们提出的问题,并渐渐获得他们的信任,目前项目已临近验收。

 

       在2013年下半年开始团队的人员越来越多,软件模块越来越多,测试人员反映的bug越来越多,要支持的项目越来越多。我感觉事情千头万绪的,特别是每逢周一,我感觉我的脑袋都有点要爆炸。一个领导需要发现现阶段的最迫切解决的问题(我称之为重要问题)并找到解决它的办法。于是我开始思考一个问题:如何做到研发的正规化?所谓研发正规化在我看来简单来说是流程问题,具体来说就是在现阶段,一个合理的研发流程是怎样的?如何把研发、测试,发布和项目支持等几个关键环节流畅地联结起来。一个正规化的过程就是一个流程再造的过程!于是我开始研究持续构建和每日构建,并在产品研发中部署持续构建和每日构建,并针对实际情况制定了项目支持的流程。从实践来看应该说取得了不错的效果,2014年我们也将继续在研发流程优化这条道路上走下去。

 

        2013年可以说取得一点成绩,但我深深知道这点成绩的取得离不开领导的支持,公司同事的团结努力和大力协助。每当回首往事时,我每每能发现自己的丑陋之处:在一些工作上处理得过于简单粗暴,不够得体,缺乏耐心,那归根结底是我个人修养不够,在此我郑重向同事们道歉,希望你们能谅解我!在2014年我争取做得更好!


CH341A编程器是一款广泛应用的通用编程设备,尤其在电子工程和嵌入式系统开发领域中,它被用来烧录各种类型的微控制器、存储器和其他IC芯片。这款编程器的最新版本为1.3,它的一个显著特点是增加了对25Q256等32M芯片的支持。 25Q256是一种串行EEPROM(电可擦可编程只读存储器)芯片,通常用于存储程序代码、配置数据或其他非易失性信息。32M在这里指的是存储容量,即该芯片可以存储32兆位(Mbit)的数据,换算成字节数就是4MB。这种大容量的存储器在许多嵌入式系统中都有应用,例如汽车电子、工业控制、消费电子设备等。 CH341A编程器的1.3版更新,意味着它可以与更多的芯片型号兼容,特别是针对32M容量的芯片进行了优化,提高了编程效率和稳定性。26系列芯片通常指的是Microchip公司的25系列SPI(串行外围接口)EEPROM产品线,这些芯片广泛应用于各种需要小体积、低功耗和非易失性存储的应用场景。 全功能版的CH341A编程器不仅支持25Q256,还支持其他大容量芯片,这意味着它具有广泛的兼容性,能够满足不同项目的需求。这包括但不限于微控制器、EPROM、EEPROM、闪存、逻辑门电路等多种类型芯片的编程。 使用CH341A编程器进行编程操作时,首先需要将设备通过USB连接到计算机,然后安装相应的驱动程序和编程软件。在本例中,压缩包中的"CH341A_1.30"很可能是编程软件的安装程序。安装后,用户可以通过软件界面选择需要编程的芯片类型,加载待烧录的固件或数据,然后执行编程操作。编程过程中需要注意的是,确保正确设置芯片的电压、时钟频率等参数,以防止损坏芯片。 CH341A编程器1.3版是面向电子爱好者和专业工程师的一款实用工具,其强大的兼容性和易用性使其在众多编程器中脱颖而出。对于需要处理25Q256等32M芯片的项目,或者26系列芯片的编程工作,CH341A编程器是理想的选择。通过持续的软件更新和升级,它保持了与现代电子技术同步,确保用户能方便地对各种芯片进行编程和调试。
内存分区情况的分析是嵌入式系统开发中的一个重要环节,特别是在资源有限的MCU(微控制器)环境中。标题提到的工具是一款专为分析Linux环境下的`gcc-map`文件设计的工具,这类文件在编译过程结束后生成,包含了程序在目标设备内存中的布局信息。这个工具可以帮助开发者理解程序在RAM、ROM以及FLASH等存储区域的占用情况,从而进行优化。 `gcc-map`文件通常包含以下关键信息: 1. **符号表**:列出所有定义的全局和静态变量、函数以及其他符号,包括它们的地址和大小。 2. **节区分配**:显示每个代码和数据节区在内存中的位置,比如.text(代码)、.data(已初始化数据)、.bss(未初始化数据)等。 3. **内存汇总**:总览所有节区的大小,有助于评估程序的整体内存需求。 4. **重定位信息**:显示了代码和数据如何在目标地址空间中定位。 该分析工具可能提供以下功能: 1. **可视化展示**:将内存分配以图形化方式呈现,便于直观理解。 2. **详细报告**:生成详细的分析报告,列出每个符号的大小和位置。 3. **比较功能**:对比不同编译版本或配置的`map`文件,查看内存使用的变化。 4. **统计分析**:计算各种内存区域的使用率,帮助识别潜在的优化点。 5. **自定义过滤**:允许用户根据需要筛选和关注特定的符号或节区。 虽然在MCU环境中,Keil IDE自带的工具可能更方便,因为它们通常针对特定的MCU型号进行了优化,提供更加细致的硬件相关分析。然而,对于通用的Linux系统或跨平台项目,这款基于`gcc-map`的分析工具提供了更广泛的适用性。 在实际使用过程中,开发者可以利用这款工具来: - **优化内存使用**:通过分析哪些函数或数据占用过多的内存,进行代码重构或调整链接器脚本以减小体积。 - **排查内存泄漏**:结合其他工具,比如动态内存检测工具,查找可能导致内存泄漏的部分。 - **性能调优**:了解代码执行时的内存分布,有助于提高运行效率。 - **满足资源限制**:在嵌入式系统中,确保程序能在有限的内存空间内运行。 总结来说,`gcc-amap`这样的工具对于深入理解程序的内存布局和资源消耗至关重要,它能帮助开发者做出更明智的决策,优化代码以适应不同的硬件环境。在处理`map`文件时,开发者不仅能获取到程序的内存占用情况,还能进一步挖掘出可能的优化空间,从而提升系统的整体性能和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值