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. plsql 参数中in out in的区别讲解
  2. 用Command实现校验器
  3. php导出excel数据使用csv替代xls格式
  4. 社交牛逼症研发小哥的校招和入职初体验
  5. leetcode 782. Transform to Chessboard | 782. 变为棋盘(Java)
  6. rails3系统架构
  7. [转]ORACLE 异常错误处理
  8. MySQL checkpoint机制详解
  9. mongodb连接池 php,node.js,mongodb_nodejs使用mongodb连接池,node.js,mongodb - phpStudy
  10. python word 表格复制_python实现同一word中的表格分别提取并保存到不同文件下
  11. 两条波浪线符号_最新-Word上中下划波浪线符号怎么打 精品
  12. 【Rust 笔记】08-枚举与模式
  13. 完全不懂SEO怎样入手做网站优化
  14. ubuntu QT 编译报错cannot find -lGL 的解决方法
  15. 股票振幅榜查询易语言代码
  16. Seating Arrangement CSU - 1997 (思维题,是否存在n个数的序列,使得相邻啷个数的差绝对值大于d)
  17. window10安装虚拟机及相关软件
  18. Allegro PCB Design GXL (legacy) 16.6 - 使用泪滴之后,删除泪滴导致出现的异常
  19. 说一下“==“和equals方法究竟有什么区别?
  20. 使用U盘系统盘安装操作系统步骤

热门文章

  1. idea 文件夹右键新建没有Class
  2. 如何打败理发店装逼洗剪吹小哥
  3. 用GCC生成静动态库练习
  4. 刚做了象棋和跳棋游戏 求教如何 实现游戏的在线即时对战功能
  5. NOJ 网络赛 L题 送花
  6. NB-IoT 物理层相关
  7. 蓝桥杯2018年省赛真题超详解
  8. Flink1.12 - 概述、安装部署及快速入门
  9. 上市公司独立董事履职
  10. syscall指令_linux系统调用-SYSCALL_DEFINEx详解