1.  项目介绍

在NINJA设备上支持RTM-ISDN卡
RTM-ISDN卡硬件组成


主要组成单元
C6415: DSP
PEB383(上图中的PEX8112改为PEB383,由于后者具有NT功能): PCIE2PCI bridge
PEF22554: FALC E1/T1 framer
LC4256V: CPLD

2. 完毕情况及时间
number item class status date used
1 RTM-ISDN study design finished 9 9
2 RTM-ISDN card platform software design design finished 5 5
3 RTM-ISDN setup development environment coding finished 1.5 1.5
4 RTM-ISDN card PCIE bridge setting coding finished 2 2
5 RTM-ISDN card RTM-DSP loading coding coding finished 4 4
6 RTM-ISDN card PCIE bridge bring up debug finished 2.5 2.5
7 RTM-ISDN card RTM-DSP loading bring up debug finished 2 2
8 RTM-ISDN card host communicate coding coding finished 5.5 5.5
9 RTM-ISDN card host communicate debug debug finished 8 8
10 RTM-ISDN card new feature for HQA coding finished 2 2
11 RTM-ISDN setup DSP Debug environment debug finished 2 2
12 RTM-ISDN QuadFALC HQA PRBS test support support finished 6 6
13 RTM-ISDN diag and monitor coding finished 12 12
14 RTM-ISDN diag and monitor debug support support ongoing 5 0
15 RTM-ISDN code rebase support finished 3 3
16 RTM-ISDN FCT coding finished 12 12
17 NINJA FCT V3.5 debug debug ongoing 3 0
18 RTM-ISDN hardware debugging support support suspend 10 6
19 RTM-ISDN software debugging support support ongoing 10 8

3. 项目总结
3.1 统计
Row Labels Sum of date
coding 39
debug 17.5
design 14
support 34
Grand Total 104.5




3.2 项目中做的好的地方
3.2.1 design部分
前期design工作非常有效果,后期工作都採用design的预设方案。
coding部分和debug部分工作量对照37:17说明了预设方案的成熟与可靠。

架构设计採用五视图方法
系统架构设计中五视图的功能

逻辑架构:关注功能。不仅包含用户可见的功能。也包含一些基础模块以及辅助模块。

开发架构:关注程序包,不仅包含要编写的程序,还包含能够直接使用的第三方SDK或者现成的框架、类库以及开发的系统将执行于其上的系统软件或者中间件。

执行架构:关注进程、线程、对象等执行时概念。以及相关的并发、同步、通信等问题。

物理架构:关注‘目标程序及其依赖的执行库和系统软件’终于怎样安装或部署到物理机器,以及怎样部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。

数据架构:关注持久化数据的存储方案。不仅包含实体及事实上体关系的数据存储格式,还包含数据传递、数据复制和数据同步等策略。

平台软件架构中五视图的功能

逻辑架构:关注功能。

从需求提炼出平台软件功能,注重功能的逻辑性和完整性。

开发架构:关注模块。分解组合平台软件功能到各个功能模块。注重功能模块间关系,确定开发顺序。

执行架构:关注平台层机制执行时逻辑。

物理架构:关注功能模块和功能模块组成程序包的部署。

数据架构:关注数据的存储方案。

物理架构图,体现功能模块在各个子系统中的部署情况。


RTM-DSP时钟同步机制执行架构



RTM-DSP stream 通信数据架构



RTM-DSP系统的bootup,recover和upgrade逻辑架构



RTM-DSP平台软件开发架构




3.2.2 需求部分
对硬件project师提出需求
提供硬件信息,包含芯片所需电源,时钟,控制总线和数据总线信息
避免软件和硬件设计不匹配,方便排查低级错误。

对于FCT需求
帮助MFGproject师确定FCT需求。
提供FCT设计草案。并提供每一个測试环节数据流图,使MFGproject师在了解系统的情况下合理确定FCT需求。

    
3.3 项目中做的不好的地方
3.3.1 support部分
support花费时间较多,眼下已占33%。
个人觉得原因是架构设计时将RTM-DSP定位为黑盒系统,导致没有安排DSPproject师负责。
尽管,以色列执行RTM-DSP系统7年时间,说明其足够稳定和可靠。

可是。硬件和APP都有修改。硬件和APP对自己的部分也不是非常熟。出问题后都想从RTM-DSP系统获取信息。
还有,RTM-DSP缺乏对应的測试工具证明自己工作正常。
不应该将RTM-DSP定位为黑盒系统。应该安排DSPproject师负责,降低对RTM-DSP系统猜疑。节省时间和精力,加快进度。
3.3.2 设计部分
尽管和硬件相关项目不太适合使用敏捷开发,可是需求不会100%完整,也不会没有需求变更。
须要借鉴敏捷开发。灵活应对需求变化。

3.3.3 debug部分
缺乏各层通信验证工具
此次因为底层通信涉及L3 L4。验证工具开发平台project师无法独立完毕。
假设可以尽早开发出合适的验证工具,一旦验证通过,一方面能排除平台软件问题,给予APP信心。定位问题时不走错方向,还有一方面平台软件project师可尽早抽出精力做其它部分工作。

RTM-DSP项目总结的更多相关文章

  1. 【DSP开发】mailbox的使用

    在DSP项目开发中,我用mailbox实现了进程间的通信,通过接收网络控制进程发来的mailbox,实现了云台的控制,其中需要学习的地方有两点:一是mailbox通信机制的学习,二是DSP时间管理机制 ...

  2. 如何用ATL创建ActiveX控件

    演示截图: 代码简介或代码解析: 如何用ATL创建ActiveX控件 实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部 ...

  3. vc6.0批量编译

    一直想研究一下怎么让电脑批处理编译程序,今天就从vc6开始,做个记录,学习一下. VC可以生成make文件(Project->Export Makefile),在设置好环境变量下,执行NMAKE ...

  4. VC6.0 突然打不开dsw 工程文件的解决方案

    在vc编程中,经常遇到dsw工程文件无法打开,或者打开后看不到类和变量的问题.特别是把代码从一台电脑上copy到另一台电脑上以后,常常会碰到这种奇怪的问题.有时在编辑状态下也会发生成员变量或函数提示不 ...

  5. Visual Studio 2017 Enterprise (15.3)

    版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...

  6. VC6工程因行尾格式无法转换到VS2015

    VC6工程因行尾格式无法转换到VS2015(金庆的专栏 2017.6)参考:https://connect.microsoft.com/VisualStudio/feedback/details/54 ...

  7. VC项目文件说明

    .dsp   项目参数配置文件,这个文件太重要,重点保护对象.. .dsw   工作区文件,重要性一般,因为它信息不我,容易恢复.   以下文件在项目中是可丢弃的,有些文件删除后,VC会自动生成的. ...

  8. VC6.0实用小技巧

    VC6.0的若干实用小技巧 .检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}.方括号[].圆括号()和尖括号<>)前面,键入快捷键 “Ctrl+]”.如果括号匹配正确, ...

  9. vs2012 编译运行报 项目程序包Dsp.Bds.dll还原失败,找不到版本xxxxxx的程序包问题的解决方法

    原先vs2012程序运行项目是可以了,不会出现程序包Dsp.Bds.dll还原失败,找不到版本未2.0.1.0的程序包问题, 但是项目可以正常运行,每次调试看到下面一片红感觉不舒服 原因:可能当时我看 ...

  10. 【Win 10 应用开发】RTM版的UAP项目解剖

    Windows 10 发布后,其实SDK也偷偷地在VS的自定义安装列表中出现了,今天开发人员中心也更新了下载.正式版的SDK在API结构上和以前预览的时候是一样的,只是版本变成10240罢了,所以大家 ...

随机推荐

  1. POJ 2689.Prime Distance-区间筛素数

    最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  2. 牛客小白月赛3 B 躲藏【动态规划/字符串出现cwbc子序列多少次】

    链接:https://www.nowcoder.com/acm/contest/87/B来源:牛客网 XHRlyb和她的小伙伴Cwbc在玩捉迷藏游戏 Cwbc藏在多个不区分大小写的字符串中. 好奇的X ...

  3. NEUQOJ 1999: 三角形or四边形?【搜索联通块/模拟】

    http://newoj.acmclub.cn/problems/1999 1999: 三角形or四边形? 描述 题目描述: JiangYu很无聊,所以他拿钉子在板子上戳出了一个由.#组成的10*10 ...

  4. Codeforces 208E - Blood Cousins(树上启发式合并)

    208E - Blood Cousins 题意 给出一棵家谱树,定义从 u 点向上走 k 步到达的节点为 u 的 k-ancestor.多次查询,给出 u k,问有多少个与 u 具有相同 k-ance ...

  5. 小谈android/Linux rootkit(基于LKM)

    最近又学习了一下,感觉还有好多东西不知道,以后积累多一点再从新写一个. 在android上捣鼓了一下linux的内核rootkit,虽然中途遇到了无数坑,至今也没有完全写完,打算先好好啃一段时间lin ...

  6. 四. Java继承和多态8.Java final关键字:阻止继承和多态

    在 Java 中,声明类.变量和方法时,可使用关键字 final 来修饰.final 所修饰的数据具有“终态”的特征,表示“最终的”意思.具体规定如下: final 修饰的类不能被继承. final ...

  7. ThinkPHP的自动验证常用的正则

    ThinkPHP的自动验证常用的正则   ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function. callback.confirm.equal.unique和regex, ...

  8. 【Mybatis】mybatis查询报错org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'areaName' in 'class java.lang.String'

    mybatis查询报错: Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for pro ...

  9. 安装php扩展模块参数memcache和memcached在php中的应用

    一, memcache和memcached的区别与关系统php要想去访问memcached就得需要memcache扩展,这个道理和php连接mysql一样. 你不安装memcache扩展就没法识别me ...

  10. Java:网络编程值TCP的使用

    演示TCP传输   1.Tcp分客户端和服务端 2.客服端对应的对象是scoket    服务端对应的对象是serverscoket   客户端: 通过查阅scoket对象,发现在建立对象时,就可以连 ...