使用ADS1.2的注意事项及常用技巧
如果创建的项目中有多个文件时(尤其是编译后的镜像大小超过4K时),一定要在link order栏下调整文件顺序,主要是前几个文件的顺序(2440init.s、2440slib.s、nand.c这三个文件一定要放在最前面),推荐的文件排列顺序从上到下依次为2440init.s、2440slib.s、nand.c、2440lib.c、Main.c...。详情请参考TQ2440开发板使用手册5.3.1ADS1.2新建项目试验小节(包括ADS项目的详细配置过程)。顺序不当,有可能导致编译出的程序烧写到Nand Flash中无法正常运行。

使用extern进行外部函数声明(或外部变量声明),使得不同文件可以调用同一工程中其他文件中定义的函数(变量)。也就是说本文件中没有定义这个函数(变量),但是这个函数(或变量)在同一工程中其他文件中有定义,要想在本文件中使用该函数(变量)就需要在本文件中使用extern声明此外部函数(或变量)。
为何要使用extern外部声明呢?因为如果同一工程中的多个文件都要使用到同一函数(或变量),但是我们不能在需要使用该函数(或变量)的所有文件都定义该函数(或变量),如果这样做的话,在程序链接时会出现“重复定义”的错误。正确的方法就是:在任一文件中定义外部函数(或变量),而在其他也需要该函数(或变量)的文件中使用extern对该函数(或变量)进行外部声明。
声明形式如下:
外部函数声明:

外部变量声明:

在函数名(或变量名)上右键:Go to function definition of XXX:(注意,需要在执行make后右键菜单才会出现此命令选项)

查看头文件:(注意,也必须在执行make以后才可以)

在头文件中使用条件编译实现对开发板上同一设备不同型号之间进行选择,其基本结构如下所示:

使用ADS1.2的注意事项及常用技巧的更多相关文章
- Android中Activity加入Fragment使用注意事项及常用技巧
Fragment中AlertDialog弹出窗口的使用 Fragment默认不具有Content的一些方法和属性,因此在Activity中可以使用的一些方法在Fragment中使用就需要一些小技巧了 ...
- PHP操作Redis常用技巧
这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接.认证.string.hash等操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了PHP操作Red ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- oracle存储过程常用技巧
我们在进行pl/sql编程时打交道最多的就是存储过程了.存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识.如:游标的处理,异常的处理,集 ...
- Vim 常用技巧:
Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...
- JS~~~ 前端开发一些常用技巧 模块化结构 &&&&& 命名空间处理 奇技淫巧!!!!!!
前端开发一些常用技巧 模块化结构 &&&&& 命名空间处理 奇技淫巧!!!!!!2016-09-29 17 ...
- Android ListView 常用技巧
Android ListView 常用技巧 Android TextView 常用技巧 1.使用ViewHolder提高效率 ViewHolder模式充分利用了ListView的视图缓存机制,避免了每 ...
- JavaScript常用技巧总结(持续添加中...)
在我学习过程中收集的一些常用技巧: typeof x !== undifined 判断x是否已定义: x === Object(x) 判断x是否为对象: Object.keys(x).length ...
- Eclipse调试常用技巧(转)
Eclipse调试常用技巧 转自http://daimojingdeyu.iteye.com/blog/633824 1. 条件断点 断点大家都比较熟悉,在Eclipse Java 编辑区的行头双击就 ...
随机推荐
- MySQL Proxy 实现MySQLDB 读写分离
一.简述 MySQL Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测.分析或改变它们的通信.它使用灵活,没有限制,常见的用途包括:负载平衡,故障.查询分析 ...
- VC获取屏幕分辨率及大小相关(转)
vc得到屏幕的当前分辨率方法: 1.Windows API调用 int width = GetSystemMetrics ( SM_CXSCREEN ); int height= GetSystem ...
- JTAG/SPI/ISP/ICSP 接口电路
- systemtap 探针定制
http://blog.163.com/digoal@126/blog/static/163877040201391123645546/
- Android native层动态库注射
1.简单介绍 本文解说在Android native层.root权限下.注射动态库到目标进程,从而hook目标进程中动态库的函数的实现方式. 文中的源代码所有来源于网络.我仅仅是略微加以整理. 环境: ...
- BTA 常问的 Java基础40道常见面试题及详细答案
原文:http://www.ymq.io/2018/03/10/java/ 八种基本数据类型的大小,以及他们的封装类 引用数据类型 Switch能否用string做参数 equals与==的区别 自动 ...
- UML:概要设计,用什么画我的类图?
背景 做过需求之后,很少使用 UML 画概要设计,这几天尝试的用了几个工具,最总还是选择了 VisualStudio. Edraw 详细信息很难编辑,如:签名. Viso 添加成员太麻烦了. Visu ...
- springmvc最简单的搭建,初学者必看
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- Redis:ERR operation not permitted
Redis服务开启之后: D:\Redis\redis>redis-server.exe redis.conf 那么另外开一个命令窗口 D:\Redis\redis>redis-cli.e ...
- OpenCV学习(28) 轮廓
OpenCV中可以方便的在一副图像中检测到轮廓,并把这些轮廓画出来.主要用到两个函数:一个是findContours( img, contours0, hierarchy, RETR_TREE, CH ...