嵌入式开发中如何对存储器进行测试
2016-11-19 13:51
537 查看
嵌入式的开发过程中,嵌入式开发初期,固件人员需要做的事情有哪些呢?
既然boot_loader负责是帮其他程序布置可运行的执行环境,那么我们认为这个第一版的real size板子做哪些测试,才能保证这个包含 硬件板子与boot loader执行环境是正确的。
以下就是要验证的项目:
(1)CPU寄存器操作测试
(2)stack size的设定是否正确?function call是否可正确运行?
(3)存储器初始化操作的测试,并保证所有的存储器都可以正常读或写
(4)将data段载入RAM,对BSS段(未初始化的全局变量值)设定初值。如果有程序段必须在ROM以外的存储器执行的话,boot loader也要负责将其载入。在此阶段,我们必须保证当主程序执行起来后,程序中的全局变量的初始值是正确的。假设一偶需要被载入的程序段,也必须确认其可正确执行。
只有做好上述的验证之后,才能将板子分配给其他人员继续开发工作,把状况不明或者不稳定的板子交给其他人员的话,只是在浪费大家时间。
下面我们主要讲下存储器的测试:
存储器会出问题的机会远比你想象中的多。从硬件方面来说,如果数据线或者地址线连接错误的话,就会导致读写一直出现错误。从软件方面来说,有些存储器(如SRAM/NOR FLASH/ROM)不需要额外设定,只要给定地址就可以直接使用,但是有些存储器的种类,以SDRAM为例,必须通过额外的控制IC才能操作,程序必须先设定好SDRAM controller的配置,若SDRAM的size、速度等,才能正确的assess到SDRAM。假设某些参数设置错误,如size设定的比较小,则SDRAM还是可以动作的,只是access不到高地址的存储器。
未完待续。。
既然boot_loader负责是帮其他程序布置可运行的执行环境,那么我们认为这个第一版的real size板子做哪些测试,才能保证这个包含 硬件板子与boot loader执行环境是正确的。
以下就是要验证的项目:
(1)CPU寄存器操作测试
(2)stack size的设定是否正确?function call是否可正确运行?
(3)存储器初始化操作的测试,并保证所有的存储器都可以正常读或写
(4)将data段载入RAM,对BSS段(未初始化的全局变量值)设定初值。如果有程序段必须在ROM以外的存储器执行的话,boot loader也要负责将其载入。在此阶段,我们必须保证当主程序执行起来后,程序中的全局变量的初始值是正确的。假设一偶需要被载入的程序段,也必须确认其可正确执行。
只有做好上述的验证之后,才能将板子分配给其他人员继续开发工作,把状况不明或者不稳定的板子交给其他人员的话,只是在浪费大家时间。
下面我们主要讲下存储器的测试:
存储器会出问题的机会远比你想象中的多。从硬件方面来说,如果数据线或者地址线连接错误的话,就会导致读写一直出现错误。从软件方面来说,有些存储器(如SRAM/NOR FLASH/ROM)不需要额外设定,只要给定地址就可以直接使用,但是有些存储器的种类,以SDRAM为例,必须通过额外的控制IC才能操作,程序必须先设定好SDRAM controller的配置,若SDRAM的size、速度等,才能正确的assess到SDRAM。假设某些参数设置错误,如size设定的比较小,则SDRAM还是可以动作的,只是access不到高地址的存储器。
未完待续。。
相关文章推荐
- 如何使用eclipse进行嵌入式Linux的开发
- 如何使用eclipse进行嵌入式Linux的开发
- 【原创】如何在LoadRunner中进行测试脚本录制开发与调试
- 如何跟开发就测试范围进行沟通?
- 如何使用eclipse进行嵌入式Linux的开发
- 如何使用eclipse进行嵌入式Linux的开发
- 穷人如何使用测试驱动开发进行重构
- 如何进行嵌入式开发
- 软件开发数据库如何进行测试
- 如何使用eclipse进行嵌入式Linux的开发
- 产品开发中如何进行敏捷测试?
- 数据仓库ETL开发如何进行测试
- 如何使用eclipse进行嵌入式Linux的开发
- 如何使用eclipse进行嵌入式Linux的开发
- 【译】如何用Swift进行TDD(测试驱动开发)
- ios开发中测试设备不在身边,如何进行测试
- 如何跟开发就测试范围进行沟通?
- 如何使用eclipse进行嵌入式Linux的开发
- 软件测试团队与软件开发团队如何进行工作
- 如何使用eclipse进行嵌入式Linux的开发