第一篇:DSP中CMD文件的编写
DSP中CMD文件的编写
CMD文件(xxxx.cmd)是用来分配DSP工程中rom和ram空间的,告诉链接程序怎样计算地址和分配空间。
CMD文件分为两大部分:MEMORY
和
SECTIONS。
MEMORY: 伪指令。对DSP系统的ROM(如DSP芯片内的ROM,FLASH,外挂ROM)和RAM划分为N个不同的区间。这些区间根据存储目的可以分为两大类:程序存储(对应于PAGE 0)和数据存储(对应于PAGE 1)。例如: MEMORY {
PAGE 0: VECS
origin = 00000h,length = 00040h
LOW:
origin = 00040h,length = 03FC0h
SARAM:
origin = 04000h,length = 00800h
B0:
origin = 0FF00h,ength = 00100h PAGE 1: B0:
origin = 00200h,length = 00100h
B1 :
origin = 00300h,length = 00100h
B2:
origin = 00060h,length = 00020h
SARAM:
origin = 08000h,length = 00800h }
中的语句:
VECS: origin = 00000h, length = 00040h VECS为区间名,origin指定本区间的起始地址,length指定本区间的长度。
SECTIONS:伪指令。(在程序里添加下面的段名如.test用来指定该段名以下,另一个段名以上的程序(属于PAGE0)或数据(属于PAGE1)放到“>”符号后的空间名字所在的地方。例如: SECTIONS {
.text :
> LOW
PAGE 0
.cinit :
> LOW
PAGE 0
.switch :
> LOW
PAGE 0
.const :
> SARAM
PAGE 1
.data :
> SARAM
PAGE 1
.bss :
> SARAM
PAGE 1
.stack :
> SARAM
PAGE 1
.sysmem :
> SARAM
PAGE 1 } SECTIONS中的段名有两个来源:系统自动生成 和 用户自定义。如下为系统自动生成的段名:(通用部分)
.cinit
存放程序中的变量初值和常量
.const
存放程序中的字符常量、浮点常量和用const声明的常量.switch
存放程序中switch语句的跳转地址表
.text
存放程序代码
.bss
为程序中的全局和静态变量保留存储空间
.far
为程序中用far声明的全局和静态变量保留空间
.stack
为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存
储局部变量和中间结果
.sysmem
用于程序中的malloc、calloc、和realoc 函数动态分配存储空间。以上所列的段名并不完全,它们各自的块连接属性也不尽相同,可以查阅相关资料。
如:.const仅可用于小存储器模型——小存储器模型要求初始化块连接到低64K字的非易失性存储空间中,而F2812在低64K中没有FLASH,因此编译器要采用大存储器模式,相应的要用.econst代替.const。
系统自带的段名:(选择部分)(常见于DSP28x_CodeStartBranch.asm)
.reset
只包含一个32位的中断矢量,指向实时支持库rts2800_ml.lib中的C编译器导引函数,即_c_int00子程序。通常我们不用此块,而是另外创建分支指令指向开始代码。
用法如下: SECTIONS {.reset
:>FLASH,PAGE=0.TYPE=DSECT
}
语句中的“TYPE=DSECT”用来提示编译器编译时将.reset段忽略掉。.codestart
包含一条长跳转指令,指向实时支持库rts2800_ml.lib中的C编译器导引函数,即_c_int00子程序。不同的是:如果系统的程序(.text)放在系统内部RAM中仿真运行,则本块应放入片内RAM中,如地址单元0x3F8000;如果是固化程序进FLASH,则.codestart应定位与FLASH中的其实地址为0x3F7FF6中。(一条长跳转指令占2个字)。
.ramfuncs
此程序块用于对FLASH的控制寄存器进行初始化设置。
FLASH的控制寄存器受代码安全模块CSM保护,因此如果DSP是安全的(烧写后的FLASH往往处于这种状态),则必须从受保护的RAM中执行FLASH寄存器初始化代码。
InitFlash()位于DSP281x_SysCtril.c文件中,为FLASH寄存器初始化用,将次程序放进.ramfuncs块中。
MemCpy()位于DSP281x_MemCopy.c文件中,在对FLASH寄存器初始化时,用于将指定的FLASH中的程序段复制到指定的RAM区中。如例:
extern Uint16 RamfuncsLoadStart;extern Uint16 RamfuncsLoadEnd;extern Uint16 RamfuncsRunStart;„„
Void main(main){
„„
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();„„
}
在系统的cmd文件中有:
SECTIONS {
„„
Ramfuncs:
LOAD = FLASHD, PAGE = 0
RUN = RAMM1, PAGE = 0
LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),„„
} 上例中SECTIONS段的语法如下: SECTIONS { name : [property,property,……] } name:输出段的名称 property:输出段的属性:
load=allocation(强制地址或存储空间名称)同>allocation:定义输出段将会被装载到哪里。run= allocation(强制地址或存储空间名称)同>allocation:定义输出段将会在哪里运行。另:CMD文件中只出现一个关键字load或run时,表示两者的地址时表示两者的地址时重合的。
用户自定义的块:
利用pragma语法来指定程序中的(用户自编写)函数的存放目的块,这个目的块可以在cmd文件中指定实际物理地址。
pragma:
CODE_SECTION(func,”section name”)
DATA_SECTION(symbol,”section name”)
其中,func和symbol必须在主函数外声明或定义,同时也必须在声明,定义和引用func和symbol之前指定pragma语句。
#pragma可以阻止对未调用的函数的优化。
根据自己的经验,codestart块与reset块并没有什么用处。
F2812的DSP芯片内部有一个BOOTROM,存储着出厂前已经编制好的导引加载程序和标准数学表,同时也包含复位矢量和CPU矢量表(仅用于测试)。当DSP上电后,导引加载程序会自动配置所需要的设置,例如配置好EMIF以存取flash,配置GPIO口为把程序从外部RAM或ROM下载到内部RAM中做准备。
————————类似于PC的加电硬件检测 在运行C程序(main函数)之前,必须创建C运行环境。这个任务由C引导程序(BOOTRAM中固化的导引加载程序)使用名为c_int00()的子程序来执行。此函数位于rts.lib文件中。
在系统开始运行时,c_int00()可以被调用,通常由硬件复位来调用。必须将c_int00()与其他的目标模块连接起来,当使用C连接器并且包含rts28xx.lib作为连接器输入文件时,以上调用自动实现。当连接C程序时,连接器将可执行输出模块中的入口点的值赋给c_int00()函数,这些可执行输出模块不尽相同,但最为人关心的则是由c_int00()来启动main()函数运行自己的C程序。
而在.codestart 和.reset代码块的编写的汇编程序的功能也仅仅是引导BOOTROM中的导引加载程序与c_int00()函数的衔接。
目前所接触的应用于F2812DSP芯片的程序也都是DSP/BIOS型的,不是non_DSP/BIOS类型的。
第二篇:C语言生成的段和CMD文件
C语言生成的段和CMD文件
通用目标文件格式COFF(Common Object File Format),是一种很流行的二进制可执行文件格式。二进制可执行文件包括库文件(以后缀.lib结尾)、目标文件(以后缀.obj结尾)、最终的可执行文件(以后缀.out结尾)等。1. COFF格式
详细的COFF文件格式包括段头、可执行代码和初始化数据、可重定位信息、行号入口、符号表、字符串表等,这些属于编写操作系统和编译器人员关心的范畴。从应用的层面上讲,DSP的C语言程序员应掌握两点:通过伪指令定义段;并给段分配空间。至于二进制文件到底如何组织分配,则交由编译器完成。
把握COFF格式的概念,最关键的一点就是:二进制可执行文件是以段(section)的形式存储的。
使用段的好处是鼓励模块化编程,提供更强大而又灵活的方法来管理代码和目标系统的内存空间。这里模块化编程的意思是,程序员可以自由决定愿意把哪些代码归属到哪些段,然后加以不同的处理。
编译器处理段的过程为:每个源文件都编译成独立的目标文件(以后缀.obj结尾),每个目标文件含有自己的段,连接器把这些目标文件中相同段名的部分连接在一起,生成最终的可执行文件(以后缀.out结尾)。
段分为两大类:已初始化的段和未初始化的段。
已初始化的段含有真实的指令和数据,存放在程序存储空间。程序存储空间在DSP片内的FLASH。调试代码时,则常常把代码在线下载到RAM中运行。
未初始化的段只是保留变量的地址空间,未初始化的段存放在数据存储空间中,数据存储空间多为RAM存储单元。在DSP上电调用_c_int0初始化库前,未初始化的段并没有真实的内容。
汇编语言中,通过六条伪指令来定义段,因此时常把伪指令和段混为一谈,比如伪指令“.bss”,也是段“.bss”。
(1)未初始化的段
1).bss:定义变量存放空间。
2).usect:用户可自行定义未初始化的段,提供给用户更多的灵活性。(2)已初始化的段
1).text:包含可执行的汇编指令代码。.text是系统定义的默认段,如果不明确声明,代码就归属.text段。
2).data:一般包括常数数据。比如,用来对变量初始化的数据或一个正弦表格等。
3).sect:用户可自行定已初始化的段,提供给用户更多的灵活性。
4).asect:作用类似于.sect,但是多了绝对地址定位功能。由于地址定位功能常用功能更强大又灵活的命令文件来完成,这条指令在汇编编程中已经废弃不用。
2.C语言生成的段
先解释一下堆栈的概念,二者是不同的概念。
栈(stack)是由系统自动管理的一片内存,用来存放局部变量和函数压栈出栈的状态量。进入C语言函数时需要保存一些寄存器的状态,即压栈操作;退出函数时要还原那些寄存器,即出栈操作。
堆(heap)是当用户想要自己能独立灵活地控制一些内存时,可以用malloc()等函数开辟一些动态内存区,这些动态内存区称为堆。C语言在运行时并不检查堆栈溢出与否。如果堆栈段定义在数据存储空间的最后区域,实际运行时即使堆栈发生溢出,也不会覆盖其他有用的数据,此时堆栈可用的最高限额是实际数据存储空间的最高地址。
C语言有7个定义好的段,没有了汇编语言中的.data段,以下分类叙述。
(1)已初始化的段
1).text:编译C语言中的语句时,生成的汇编指令代码存放于此。
2).cinit:存放用来对全局和静态变量初始化的常量
3).switch:存放switch语句产生的常数表格。
(2)未初始化的段
1).bss:存放全局和静态变量。
2).stack:存放C语言的栈。
3).sysmen:存放C语言的堆。
4).const:稍微有些复杂的段。简单而言,是用来存放一些特殊的常数和字符等。
#pragma是标准C中保留的预处理命令。程序员可以通过#pragma来定义自己的段,这是预处理命令#pragma的主要用法。
#pragma的语法是:
#pragma CODE_SECTION(symbol,”section name”);#pragma DATA_SECTION(symbol,”section name”);说明:
1)symbol是符号,可以是函数名也可以是全局变量名,section name是用户自己定义的段名。
2)CODE_SECTION用来定义代码段,DATA_SECTION用来定义数据段。使用#pragma需要注意:
1)不能在函数体内声明#pragma.2)必须在符号被定义和使用前使用#pragma。
如果没有用到某些段,比如很多人都没有用到.sysmen段,就可以不用在CMD文件中为其分配空间。当然保险起见,也可以不论用到与否,都全分配空间,没有用到段的空间大小当然是零。
在CMD文件中,page0代表程序空间,page1代表数据空间,下表列出这些段应该分配的存储空间。
3.连接命令文件(CMD文件)
连接命令文件(Linker Command Files),以后缀.cmd结尾,简称为CMD文件。
CMD文件的两大主要功能是指示存储空间和分配段到存储空间,以下分别叙述。
〈1〉通过MEMORY伪指令来指示存储空间 MEMORY伪指令语法如下:
MEMORY {
PAGE 0:name 0[(attr)]:origin=constant,length=constant
PAGE 0:name n[(attr)]:origin=constant,length=constant }(1)PAGE 用来标示存储空间的关键字。page n的最大值为page 225。C24XX和C28XX系列中用的是page 0、page 1,其中page 0为程序存储空间,page 1为数据存储空间。
(2)name 代表某一属性和地址范围的存储空间名称。名称可以是1-8个字符,在同一个页内名称不能相同,不同页内名称能相同。
(3)attr 用来规定存储空间的属性。共有4个属性,分别用4个字母代表:只读R、只写W、该空间可包含可执行代码X、该空间可以被初始化I。实际使用时,简化起见,常忽略此选项,这样存储空间就能具有所有的属性。
(4)orgin 用来定义存储空间起始地址的关键字。(5)length 用来定义存储空间长度的关键字。〈2〉通过SECTIONS伪指令来分配段到存储空间
相对于简单的伪指令MEMORY,伪指令SECTION稍稍有些复杂。SECTION伪指令语法如下:
SECTIONS {
name:[property,property,property,…]
name:[property,property,property,…]
……
}(1)name 输出段的名称。
(2)property 输出段的属性。常用的有下面一些属性。
1)load:定义输出段将会被装载到哪里的关键字。其语法如下:
load=allocation或
allocation或
>allocation allocation可以是强制地址,比如“load=0x100”。但更多的时候,allocation是存储空间的名称,这也是最为通常的用法。
2)run:定义输出段将会在哪里运行的关键字。其语法如下:
run=allocation 或
run>allocation CMD文件规定当只出现一个关键字load或run时,表示load地址和run地址是重叠的。实际应用中,大部分段的load地址和run地址是重叠的,除了.const段。
3)输入段。其语法如下:
{input_sections} 花括号“{}”中是输入段。
这里是输入段与输出段做一个区分:每一个汇编或C语言文件经过编译会生成若干个段,多个汇编或C语言文件生成的段大都是同名的,常见的如前面已经介绍过的段.cinit,.bss等等。这些段都是输入段。这些归属于不同文件的输入段,在CMD文件的指示下,会被连接器连接在一起生成输出段。
4)其余的特性。
CMD文件中还可以直接写各种编译命令。有些程序员也喜欢这么做,考虑到读者遇见时不致于困惑,兹举几例如下: 1)-l rts2xx.lib /*连接系统库文件rts2xx.lib*/ 2)-o roam.out /*最终生成的二进制文件命名为roam.out*/ 3)-m roam.map /*生成映射文件roam.map*/ 4)-stack 0x200 /*堆栈定为512字*/ 4.复杂的.const段
C语言有中有三种情况会产生.const段:
(1)关键字const 由关键字const限定的带有全局基本变量的初始化值,比如“const int a=90;”。但由于关键字const限定的局部基本变量的初始化值,不会产生.const段,局部变量都是运行时开辟在.bss段中的。
(2)字符串常数 字符串常数出现在表达式中,比如,“strcpy(s,”abc”);”。字符串常数用来初始化指针变量,比如“char *p=”abc”;”。但当字符串常数用来初始化数组变量时,不论是全局还是局部数组变量,都不会产生.const段,此时字符串常数生成的是.cinit段。比如“char s[4]=”abc”;”。
(3)数组和结构体的初始值 数组和结构体是局部变量,其初始化值会产生.const段,比如“int a[8]={1,2,3};”。但当数组和结构体是全局变量时,其初始化值不会产生.const段,此时生成的是.cinit段。
设置.const段是基于灵活性考虑的,程序中常会有大量的常数占用数据空间,比如液晶显示用的点阵字库等。这些数据空间存放常数值,只被用来读,而从不会被写入。把这些常数单独编译成.const段,就为C编译器来做特定处理提供了条件。
那怎么存储这些常数呢?
一种解决的方法是把.const段中的常数存储在程序空间,上电时把这些常数由程序空间搬移到数据空间,但这样的初始化费时,且占用了大量的程序空间。理想的解决方法是把.const段中的常数固化或烧写到外在的一个ROM或FLASH中,并把ROM或FLASH的地址译码到DSP的数据空间,这样就能避免地一种解决方法的缺陷了。
但是,当没有这个ROM或FLASH来存储常数时,还是要用第一种解决方法。把.const段从page0搬移到page1,需要在两个地方作些设置和改动。
1)在CMD文件中的设置
在CMD文件需要把装载和运行分开,装载在page0,运行在page1。
2)修改连接的rts2xx.lib库
在DOS命令环境下,从trs.src源文件库中释放出boot.asm。
Dspar –x rts.src boot asm 打开boot.asm把里面的CONST_COPY常数改成1(原先是0)。
CONST_COPY.set 1 重新把boot.asm文件编译一遍,生成boot.obj。
dspa –v2xx boot.asm 把boot.obj归档到C语言的rts2xx.lib库中。
Dspa –r rts2xx.lib boot.obj 此时生成新的库文件rts2xx.lib 当C语言程序连接到新的库文件rts2xx.lib时,DSP上电初始化时,系统库将自动把.const段中的常数从page0区搬移到page1区。
第三篇:文件编写格式要求
正规文件编写格式要求
第一条 标尺标准
1.横标尺左距为“6”,右标距为“43”; 2.纵标尺上距为“4.5”,下标距为“49”。第二条 正文文字格式
1.标题字型“宋体”,字号“小二”或“二号”,加粗; 2.正文字型“宋体”,字号“小四”; 第三条 行距、段距要求
1.段前、段后距离为“0”或“段前0.5”,行间距为“1.5倍”;
2.短落首行前空2个字符,次行顶格,每段标尺格式为:“上标为2,下标为0”。第四条 正文序号要求
1.第一层为“第一章、第二章、第三章…”,序号使用粗体,文字内容不使用粗体,每段标尺格式为:“上标为0,下标为0”;
2.第二层为“
(一)、(二)、(三)…”,不使用粗体,每段标尺格式为:“上标为0,下标为0”
3.第三层为“1.、2.、3.…”,若第第二层没有分层,则直接只用第三层序号,不使用粗体,每段标尺格式为:“上标为2,下标为0”;
4.第四层为“(1)、(2)、(3)…”,不使用粗体,每段标尺格式为:“上标为2,下标为2”;
5.第五层为“①、②、③…”,不使用粗体,每段标尺格式为:“上标为2,下标为2”;
6.第六层为“A、B、C…”,不使用粗体,每段标尺格式为:“上标为2,下标为2”; 7.序号如加括号,如
(一)(二)
(三),(1)(2)(3)等后面不加标点符号; 8.序号编号位置、文本缩进数值均为0,编号后的空格缩小到最短。
第四篇:中建HSE文件编写策划方案
中建四局HSE文件编写策划方案
1、文件编写原则:
尽量与质量体系文件进行整合,使文件体系趋于简单。
1)手册合并一本,以质量体系要素为主顺序进行安排(参
考装饰公司的手册编排);
2)程序文件则对标准中有相同或相似要求的要素整合编
写,只有确实是某个体系特别要求的程序才单独编写;
3)作业指导书部分则可整合的成分要少一些,原有的质量
作业指导书基本保留,重新编写环境、健康作业指导书和应急预案/计划,安全作业指导书主要在对原有安全生产制度进行整理并结合《重大危险源清单》的基础上修订;
4)记录表格要区分是程序文件引用的还是作业指导书引用的,对于前者则尽可能与质量表格共享、后者则多数将单独编制。
5)HSE体系要求制定针对重要环境因素和重要危险源的目标指标,以及为实现目标指标而编写的管理方案(更多的是结合每一个工程项目,单独编写或整合到《项目施 工组织设计/施工方案》中)。
6)HSE体系要求制定针对与紧急事件有关的重要环境因素和重要危险源的应急预案/应急计划(前者是程序性的范
本,后者是局总部/各区域性公司/各项目根据具体情况,分别制定的计划)。
2、程序文件编写清单:
MP-01文件管理程序
MP-02记录管理程序
MP-03人力资源管理程序
MP-04设备管理程序
MP-05计量器具管理程序
MP-06信息传递与沟通管理程序
MP-07招投标文件及合同文件评审程序
MP-08在建工程施工组织设计(或方案)的编制及评审程序 MP-09工程分包管理程序
MP-10采购控制程序
MP-11环境因素识别、评价及管理程序
MP-12危险源辩识、风险评价及控制程序
MP-13环境污染与破坏事故或事件报告、调查与处理程序 MP-14职业健康与安全事故报告、调查与处理程序
MP-15突发性事故或事件应急准备和响应控制程序
MP-16工程质量不合格控制程序
MP-17工程质量、职业健康与安全、环境的监视和测量管理程序 MP-18在建工程业主满意度调查及竣工工程回访和保修管理程序 MP-19数据收集与分析管理程序
MP-20纠正和预防措施管理程序
MP-21内部审核管理程序
MP-22管理评审程序
3、目标指标参考:
质量/环境/职业健康安全方针:
以人为本、全员参与、抓质量、护环境、保安全、守信誉、促发展、严守法规、预防为主、持续改进
方针涵义:
1、公司诚信为根本,严格遵守各项质量/环境/职业健康安全法律法规、标准规范和其他要求,实现顾客和相关方满意。
2、通过落实各项环保措施和职业健康安全防护措施,实现预防污染和预防职业健康安全事故、事件的发生,消除隐患,关注和保护相关方和员工的利益,努力营造安全、环保、文明的工作环境。
3、以科学、高效的管理和创新,持续改进管理体系的有效性,积极推广新工艺,发展企业,努力降低能源、资源消耗和对环境污染,创造更好的经济效益和社会效益。
质量/环境/职业健康安全目标:
质量目标:
单位工程一次交验合格率达到100%;
顾客满意率达到80%;
顾客有效投诉及时处理率100%;
相关部门的质量指标按照各部门有关要求确定。
环境目标:
1、营造文明、环保、健康的施工现场和工程产品;
2、施工现场场界噪音满足法律法规要求;
3、废水、废气排放满足法律、法规要求;
4、减少固体垃圾;
5、节约用水、电,降低能源、资源消耗。
环境管理指标:
废水、废气排放满足国家现行有关标准要求;
所有固体废弃物100%安全合法处置;
办公区、生活区用水的人均消耗三年内每年比上年降低1%,纸张的人均消耗每年比上年降低3%;
噪声的排放达到规定标准,土方施工,昼夜<75dB;打桩施工,昼间<85dB,夜间禁止施工;结构施工,昼间<70dB,夜间<55dB;装修施工,昼间<65dB,夜间<55dB;
对设备滴、漏油现象采取导油槽等有效措施予以收集,统一处置;对有毒、有害及有放射性的装饰装修材料应按国家现行有关标准的规定采购,使用及管理;
降低粉尘的产生和扩散;
对环境管理的有效投诉逐年下降,无重大环境事故事件;
环境事故/事件处理结案率100%。
职业健康安全目标:
为员工提供安全、健康、适宜的工作环境;
无重大伤亡事故;
无重大管线、设备事故;
无火灾事故;
无坍塌事故;
无食物、化学危险品中毒事故。
4、编写阶段工作内容:
1)文件编写——总部组织编写管理手册,(总部先拿出基本
职责框架)各区域公司分别编制一部分程序文件、作业指导书、表格(1个月拿出初稿);应急预案由总部组织、分配各区域公司分别编写火灾、爆炸、化学品泄漏、中毒、受伤、气象灾害、发生工程事故(如垮塌、基坑塌方等)对应的预案。
2)环境因素、危险源的识别/评价:总部组织分工(可按分
部工程来分配任务)。
3)此期间可同时开展法律法规的收集(各地重点收集当地
地方的要求),组织标准的更基层的宣贯和法律法规的学习、考试。
4)可请当地环境保护监测部门开展对某些工地的典型指标的监测工作,同时实施一些很明显需要做的环保/安全健康改造工作(如与危险废物站的签约、分类垃圾桶的配备/制作、标语制作/张贴、安全隐患的整治、食堂/工人宿舍卫生的整治等)。
5、企管部门的新增职责(建议):
1、负责组织各相关人员识别环境因素、危险源并对其进行评价。
2、监督项目部对施工现场环境的监测。
3、审核项目部的施工组织设计和工程合同的评审,并评价环保和职业健康安全要求。
4、监督项目部严格遵守有关法律、法规和环保制度,实现污染预防。
5、及时收集技术信息,负责国家标准、技术规范、规程的更新、传达相关的法律法规和其他要求。
6、组织质量环境职业健康安全管理体系文件的编制,并负责修订、发放和管理。
7、协调人事部对员工进行质量环境职业健康安全管理体系的培训。
深圳市诚则成企业管理顾问有限公司2004-2-15
第五篇:投标以及投标文件编写注意事项
投标以及投标文件编写注意事项
1.注意投标前的询标过程(标项参与的可行性程度、利与弊程度)
2.仔细阅读,全面理解并吃透文件。(切忌只注意重点而忽略一般,出现对采购文件要求上的缺项漏项;切忌理解上的错误,出现所问非所答;切忌不具备资格资质投标,出现投标就意味着无效。)
3.认真研究文件,摸清要求及意图。(理解并分析投标文件采用的“评标方法”,分析利弊,查看对本公司的利弊程度及参与的可能性)
4.及时发现问题,保护自己合法权益。(关于采购文件中出现表述不清楚、模糊及容易引起歧义、漏洞等问题时,及时要求采购单位对采购文件做出解答、澄清和修改,防止出现自己对采购文件的理解造成投标失误发生)
5.认真阅读投标文件,抓住重点(关于重点和相关注意事项用红色笔画出,不能完全理解部分要进行合理分析以及商量)
6.全面理解文件情况下,做好项目分析表,将相应部分写好,并送到每一个负责人手中,以便投标的顺利开展。注重付款方式的要求
7.编写投标文件时,注意文件格式清晰,有目录,针对评分方式中的任何一点(尤其是售后服务及技术参数检测报告等要求)要重点注意并编制到投标文件中。
8.投标文件必须章印齐全,该盖章的地方一定要盖章,尤其是招标文件中规定的地方。9.投标文件一定要响应招标文件要求,前后内容要一致(很多评标中都出现过前后报价、期限不一致,低于成本价的情况,造成不能通过审核)
10.投标文件中证照一定要齐全,注意证照有效期限,不要过期。(注意投标需携带原件事项,并理清原件包装,确保原件整齐带走,完好回来)
11.投标样衣及时整理好,符合招标文件要求。(同时整理好样衣归库)(样衣一定要确认完整,包括标志标牌等,招标文件上的行业标准等等,必须完全符合招标文件的要求)12.投标注意事项:一定要随时注意官方网站针对本项目出示的更正或答疑公告,并进行回复。针对需要刻光盘、u盘以及要求版本事项需着重注意和检查(不可疏忽)