TX2440 裸跑实验-跑马灯(ADS1.2编译) 入门

一.实验目的:

理解汇编的编程结构,有助于学习ARM汇编,为后续学习CPU的启动机制来了个入门级

二.实验环境:

TX2440平台

三.实验工具:

ADS1.2 + AXD + JLINK调试

四.实验步骤:

1.在ads 上建立新工程,增加两个源文件.

int.s 源码:

;------------------------------------------------------------

;我的LED程序,EastonWoo procedure

area init,code,readonly
 import main

start
 ldr sp,=4096
 bl main
 end

;------------------------------------------------------------

main.c 源码:

//------------------------------------------------------------

//我的LED 实验程序,EastonWoo procedure

#define rGPFCON (*((volatile unsigned *)0x56000050))
#define rGPFDATA (*((volatile unsigned *)0x56000054))

#define LED1_ON rGPFDATA &=(~(1<<0))
#define LED2_ON rGPFDATA &=(~(1<<1))
#define LED3_ON rGPFDATA &=(~(1<<2))
#define LED4_ON rGPFDATA &=(~(1<<3))

#define LED1_OFF rGPFDATA |=(1<<0)
#define LED2_OFF rGPFDATA |=(1<<1)
#define LED3_OFF rGPFDATA |=(1<<2)
#define LED4_OFF rGPFDATA |=(1<<3)

void delay(int i)
{
    while(i--);
}
int main()
{
    rGPFCON = (rGPFCON & 0xFFFFFF00) | 0x55;   //input:输入模式(检测);output:输出模式(输0,输1);高阻状态(常用于AD转换)
    while(1)
    {
        LED1_ON;
        delay(100000);
        LED2_ON;
        delay(100000);
        LED3_ON;
        delay(100000);
        LED4_ON;
        delay(100000);

LED1_OFF;
        delay(100000);
        LED2_OFF;
        delay(100000);
        LED3_OFF;
        delay(100000);
        LED4_OFF;
        delay(100000);
    }
return 0;
}

//------------------------------------------------------------

2.设置ads工程
post-linker : ARM fromELF
ARM Assembler/ARM C Compiler : ARM902T
ARM Linker -> Output -> RO Base : 0x30000000
-> Options -> Image entry point : 0x30000000
-> Layout -> Object/Symbol : init.o
-> Section : init
3.设置axd调试:
3-1) 设置"启动AXD时自 动初始化SDRAM":
Options-> Configure Interface-> Session File
勾上Run Configration Script
按Browse把脚本文件2440init.txt加进来
脚本2440init.txt:
setmem 0x53000000,0x00000000,32
setmem 0x4a000008,0xffffffff,32
setmem 0x4a00001c,0x00007fff,32
setmem 0x48000000,0x2212d110,32
setmem 0x48000004,0x00000f40,32
setmem 0x48000008,0x00002e50,32
setmem 0x4800000c,0x00002e50,32
setmem 0x48000010,0x00002e50,32
setmem 0x48000014,0x00002e50,32
setmem 0x48000018,0x00002e50,32
setmem 0x4800001c,0x00018005,32
setmem 0x48000020,0x00018005,32
setmem 0x48000024,0x00960542,32
setmem 0x48000028,0x00000032,32
setmem 0x4800002c,0x00000030,32
setmem 0x48000030,0x00000030,32
其实这个命令的作用就是设置CPU的看门狗,中断等等.
3-2) 设置"连接JINK调试库"
Options-> Configur Target
按Add 把 Jlink安装目录下的JLinkRDI.dll加进来
按Configure 生效
按OK 结束设置.
3-3) 重启一下AXD 就可以调试了.

TX2440 裸跑实验-跑马灯(ADS1.2编译) 入门相关推荐

  1. 单片机实验----跑马灯

    单片机实验----跑马灯 实验效果: 8只LED灯轮流点亮,从左到右,再从右到左,不断循环. 知识点: RL指令 RR指令 高128位单元 代码: ORG 0000H ;主程序 MAIN: MOV A ...

  2. G1D33-BTG复现重跑实验

    一.复现BTG 复现很简单,所以就记录一些乱七八糟的叭 (一)传参 传是否使用cuda的参数的时候,发现传True会报错,后来查到链接 https://stackoverflow.com/questi ...

  3. 如何用Xshell连接腾讯云服务器并且跑实验

    如何用Xshell连接腾讯云服务器并且跑实验 首先需要(购买或申请)拥有一台云服务器 记录必要的信息:[公网IP,用户名,密码] 打开Xshell 输入对应的信息: 首先新建一个连接: 在这里主机内容 ...

  4. Spark 3.0 发布了,代码拉过来,打个包,跑起来!| 附源码编译

    作者 | 敏叔V587 责编 | 徐威龙 封图| CSDN 下载于视觉中国 Spark3.0已经发布有一阵子了,官方发布了预览版,带来了一大波更新,对于我们程序员来说,首先当然是代码拉过来,打个包,跑 ...

  5. 智慧医疗实现信息多跑人少跑

    我国的医疗问题一直停留在医疗体系效率低下.医疗服务欠佳.看病难且贵的阶段.公共医疗管理系统的不完善,医疗成本高.渠道少.覆盖面低等问题困扰着大众民生.随着物联网的不断发展,智慧医疗与移动医疗将会涉及整 ...

  6. 手撕Resnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。

    Alexnet网络详解代码:手撕Alexnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑.跑的代码有问题的可以在评论区指出,看到了会回复.训练代 ...

  7. 手撕Alexnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。

    Alexnet网络详解代码:手撕Alexnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑.跑的代码有问题的可以在评论区指出,看到了会回复.训练代 ...

  8. python利用高德接口,爬取武汉地区的POI--一个不太成熟的BUG,程序总是跑着跑着就假死了。

    说明 1.遇到的问题 可是爬取过程中总是不顺利,程序总是爬着爬着就不动了,有时爬几千条假死,有时爬几万条假死.数据库中没有新数据增加,程序也不报错,也不中止.CPU,内存占用也不高,硬盘中也还有空间, ...

  9. 手撕VGG卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑。跑的代码有问题的可以在评论区指出,看到了会回复。训练代码和预测代码均有。

    Alexnet网络详解代码:手撕Alexnet卷积神经网络-pytorch-详细注释版(可以直接替换自己数据集)-直接放置自己的数据集就能直接跑.跑的代码有问题的可以在评论区指出,看到了会回复.训练代 ...

最新文章

  1. 为什么同样是上亿的并发,购票系统就要比电商系统技术挑战更大?
  2. 如何提升网站在移动端的打开速度(转)
  3. Tomcat WebappClassLoader 类加载机制源码分析
  4. try、catch、finally的执行顺序
  5. matlab常用的代码,matlab常用代码
  6. Linux工作笔记037---Centos8.2下安装mysql_测试通过_注意这里安装8.0.22版本的_8.0以后的版本有需要注意的地方_跟7.0之前的版本不一样
  7. 俄罗斯方块 java_java 俄罗斯方块
  8. 图神经网络——node2vec
  9. 【统计】回归系数与相关系数的联系与区别
  10. starUML建立模型及生成代码框架
  11. 学废Unity的小妙招
  12. 华为方舟编译器开源官网正式上线:源代码已开放下载;中兴通讯与北京交通大学、中国移动北京公司签署 “5G战略合作框架协议”……...
  13. 老司机入职一周,给我们解读 Spring Boot 最流行的 16 条实践
  14. CSDN Serverless峰会,带你走进云的下一个十年
  15. MIT计算机科学录取分数线,美国麻省理工学院分数录取线
  16. Mycat快速入门(一): Mycat简介
  17. 关于在keil工程中找不到函数定义的问题
  18. Zoundry Raven网易博客设置
  19. 深入理解信息科学中三条“数据法则”
  20. 飓鼎玩笑傲江湖服务器维护,3月3日正式服与经典服维护公告

热门文章

  1. 毛利润,净利润和营业利润有什么区别
  2. python 彩色蟒蛇绘制
  3. Java编程,使用单例模式,新建Rectangle类对象,判断两个长方体是否重叠
  4. 零售店铺软件2022年排行榜新鲜出炉,来看看你用过哪一个!
  5. WOW地名中英文对照联盟版
  6. 解析Monte-Carlo算法(基本原理,理论基础,应用实践)
  7. 游戏地图编辑器之地图存储格式
  8. knockout简介
  9. tvs二极管应用电路
  10. svg圣诞节雪人代码