张仓

精通c语言、汇编语言(X86、51、ARM、MIPS)。
熟悉X86、MIPS、ARM、51。
比较熟悉操作系统(uc/os-ii、BIOS、VXWORKS)、系统结构、计算机原理。
比较熟悉VB、c++、java、、SQL server。
比较熟悉单片机芯片、模电、数电、接口。
了解软件工程,对软件产品研发较为了解。
了解Asp和有关网络知识,了解 HTML、XML。

  • 技术能力:
  • 工作态度:
  • 工作成果:
收藏 立即预约
项目意向
高级软件工程师、软件工程师 780元 全程集中 北京 工作经验: 擅长技能:
平台工作经历
其他工作经历
公司名称 北京软通动力
在职时间 2009-02-01 ~ 2019-01-01
职位名称 驱动开发
薪水 0/月
项目描述 软件/互联网开发/系统集成
个人职责 嵌入式 外包华赛硬件防火墙板卡驱动开发 项目硬件架构: 以RMI XSL MIPS CPU为核心,以PCI总线为脉络,下挂PCI DEVICE,用CPLD把I/O bus转换为 LOCAL bus对一部分板卡进行管理;用SD701和FPGA作为一部分板卡的数据通路. 项目软件架构: 底层: BSP 驱动 数据平面: 低速卡数据分装模块,转发线程. 控制平面: VRP 基于VXWORKS的一个应用 项目列表: 1.开发过SA卡驱动 主要三大块: 设备链挂接,设备管理模块,数据收发模块. 数据首发模块: 数据收发前提是各个层的接口函数已经挂接完成,即: 把本层的函数挂接到上层,为下层提供统一的接口函数,下层把自己的函数挂接到上层给自己提供的接口函数. 2.熟悉E1 CE1驱动 E1 CE1的模块划分和SA卡一样,只是E1的帧格式和SA卡不同,E1有时隙的概念,需要在硬件上加入成帧功能. 3.了解CPOS原理,熟悉SONET/SDH协议. 4.了解FE GE,他们的数据链路层协议为Ethernet. 不同应用场景,驱动模块划分也不尽相同,但最核心的就是实现数据收发。 对操作系统的了解: 看过uc/os-ii源代码,对内核架构有所了解,如: 任务调度、任务间的通信、任务状态(就绪状态、运行状态、挂起状态、休眠态、中断态,不同的操作系统定义和实现方法不同),任务调度基于任务的状态,任务切换和底层CPU紧密相关(上下文切换,需要保存数据),如果是基于优先级的操作系统,那他会把处于就绪状态的优先级最高的任务运行.
使用技能
公司名称 华硕上海园区昌硕有限公司
在职时间 2006-07-01 ~ 2008-10-01
职位名称 BIOS工程师
薪水 0/月
项目描述 软件/互联网开发/系统集成
个人职责 1.做一个Project,根据实际要求更改代码满足新的Project的需求.比如新的Project的HDD、VGA、AUDIO FLASH ROM 有改变,则需要在AMIBIOS的架构下修改相应的代码.一个笔记本BIOS的UPDATE需要好几个阶段: 第一个阶段把SB的GPIO、EC的structure(如Power sequence、GPIO等)以及KEYBOARD的connector设置好,这个阶段是保证开机.第二个阶段把更换设备(模块)的相应代码做修改,满足正常的功能.第三个阶段的BUG一般是整体协调引起的,一般从全局的角度考虑问题. 2. 做Project涉及的资料有: VEB、ACPI、AUDIO、AMIBIOS、EC、IDE、SATA、PCI、SPI、ISA、PCIE、RAM、ROM、CPU、USB、thermal sensor、SMBUS 、CLOCK GEN Specification and so on。 3. 需要熟悉的架构有: NB系统架构、中断系统架构、SMM架构、温度管理架构、电源管理架构等 4. 在平时的学习和培训中自己写的TOOL有: 遍历PCI设备、遍历PCIE设备并disable非主桥下的PCIE设备、控制AUDIO声音程序、显示USB PORT的状态程序、计算机定时唤醒程序、显示内存分配信息、显示挂在SMBUS下的SPD和thermal sensor设备RAM的数据、超频程序、显示ACPI TABLE数据程序。 比如: (1)以处理器(X86/RAM/51/NP...)为核心的单板设计完成后,那么挂在各总线上的可芯片、controler的资源(IO/memory)也就确定了(HW),一些大型的系统(如笔记本主板) controler(电气特性、协议转换、资源分配)的资源是在开机后BIOS按照一定的算法分配controler的资源(因为现在大系统以总线和桥为架构,以处理器为核心,桥的资源分配决定的桥下设配可利用的地址范围),分配并初始化后(SW),那么挂在他下面总线上的设备就可以通过controler中数据寄存器、命令寄器、状态寄存器,按照总线协议命令序列access设备了,这一阶段这一层被称做Bootloadler. (2).设备低层驱动为上层提供接口函数,隐藏上层对底层的依赖. (3).os layer,包括Kernal和软件包(driver os服务层 API SHELL GUI interface (4).Applicatuon layer,一个与平台相关的应用根据整体要求划分成task,和ISR协调完成应用功能.
使用技能
教育经历
院校名称 太原理工大学
毕业时间
所学专业 计算机科学与技术
最高学历 本科