ARM Developer Suite (ADS) 1.0.1 是ARM公司于2000年推出的集成开发环境,专为ARM架构处理器软件开发而设计。作为早期ARM开发工具链的重要组成部分,ADS为开发者提供了从代码编写、编译、调试到文档查看的全套解决方案。
这套工具链在嵌入式系统开发领域具有重要地位,尤其适用于工业控制、消费电子和通信设备等领域的ARM处理器软件开发。ADS 1.0.1版本支持Solaris和HP-UX操作系统,提供了包括编译器、调试器和性能分析工具在内的完整开发环境。
ADS 1.0.1对系统环境有明确要求,不同平台的需求略有差异:
Sun SPARC工作站要求:
HP工作站要求:
注意:虽然官方标注最低只需87MB空间,但实际使用中建议预留至少200MB空间,特别是需要安装完整文档和示例的情况下。
在安装新版本前,必须彻底移除旧版ADS和ARM Software Development Toolkit (SDT)。建议执行以下步骤:
bash复制which armcc
armcc --version
bash复制# 对于Sun Solaris系统
pkgrm ARMDeveloperSuite
# 对于HP-UX系统
swremove ARM_ADS
bash复制rm -rf /opt/arm
rm -f /etc/profile.d/arm.sh
bash复制su -
Password: [输入root密码]
volcheck
exit
bash复制cd /cdrom/ads101
sh install.sh
bash复制source ~/.cshrc
# 或使用专用配置文件
source ~/ads.cshrc
bash复制su -
Password: [输入root密码]
mount -r -F cdfs -o cdcase /dev/dsk/c1t2d0 /cdrom
exit
bash复制cd /cdrom
sh install.sh
bash复制# 对于bash用户
echo 'source /opt/arm/env.ads.sh' >> ~/.bashrc
# 对于csh/tcsh用户
echo 'source /opt/arm/env.ads.csh' >> ~/.cshrc
ADS使用FLEXlm许可证管理系统,首次安装后需要配置临时许可证:
bash复制cd $ARMHOME/licenses
./lmutil lminstall
bash复制lmutil lmstat -a -c $ARMHOME/licenses/license.dat
bash复制cp permanent_license.dat $ARMHOME/licenses/
export LM_LICENSE_FILE=$ARMHOME/licenses/permanent_license.dat
bash复制export PATH=$PATH:$ARMHOME/dtext41/bin
dtext &
bash复制acroread $ARMHOME/Pdf/ads_guides.pdf
bash复制acroread /cdrom/Pdf/assembler_guide.pdf
RogueWave C++库文档采用HTML格式:
bash复制netscape file://$ARMHOME/Html/rw/index.html
ADS 1.0.1包含以下核心组件:
bash复制mkdir hello_arm
cd hello_arm
c复制#include <stdio.h>
int main() {
printf("Hello ARM World!\n");
return 0;
}
bash复制armcc -c hello.c
armlink hello.o -o hello.axf
bash复制armsd hello.axf
bash复制# 设置调试端口权限
sh $ARMHOME/bin/setports.sh
bash复制# 将ADS安装在NFS共享目录
/opt/arm -> /net/server/arm_ads
bash复制# 在服务器端启动license守护进程
lmgrd -c /path/to/license.dat -l /var/log/arm_lic.log
bash复制export LM_LICENSE_FILE=27000@license_server
bash复制armcc -O2 -Otime hello.c
bash复制armcc -g -O1 # 平衡调试与优化
bash复制# 确保有足够的安装权限
ls -ld /opt
bash复制# 明确指定环境文件
source /opt/arm/env.ads.sh
bash复制ping license_server
telnet license_server 27000
bash复制echo $PATH
which armcc
bash复制tar xvf $ARMHOME/examples.tar
我在实际使用ADS 1.0.1的过程中发现,虽然这是较早期的版本,但其工具链的稳定性和对ARM架构的支持深度仍然值得称道。特别是在嵌入式裸机开发领域,ADS提供的底层控制能力是许多现代IDE所不具备的。一个实用的建议是:即使在使用新版本工具链时,也可以保留ADS 1.0.1作为参考环境,特别是在需要验证某些底层行为或处理遗留代码时。