嵌入式软件开发培训笔记——S5PC100接口开发(GPIO输入/输出、定时器、中断、UART、ADC、IIC)

这篇博客详细介绍了基于Cortex-A8的S5PC100芯片进行嵌入式软件开发的过程,包括GPIO控制LED、定时器、UART串口、ADC转换和IIC通信的实践。从硬件连接、程序下载到环境配置,再到具体模块的编程实现,如GPIO的输出输入、定时器设置和中断处理,深入浅出地讲解了每个步骤和技术要点。
摘要由CSDN通过智能技术生成
一、硬件:基于Cortex-A8核的samsung s5pc100
二、程序调试环境:
    1、USB串口转换工具驱动安装
    2、超级终端工具设置
    3、启动内置的BIOS (即u-boot已经烧写好的s5pc100板子)
    4、下载程序
        超级终端工具中输入loadb命令
        选择kermit协议,程序被下载到内存的20008000位置
        
    5、执行程序
        go 20008000
三、编译环境
    1、编译器:yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.19.0_gdb-  7.3.1_eabi_20111119.exe
    2、make工具:yagarto-tools-20100703-setup.exe
    3、cmd下面测试:
        make -v 测试make命令是否可用
        arm-none-eabi-gcc -v测试编译器是否可用
    4、环境变量设置,我的电脑右键->属性->高级->环境变量:修改path环境变量
        
变量值项添加以下路径,注意结尾均有分号";"
        d:\Program Files\yagarto\bin ;d:\Program Files\yagarto-tools-20100703\bin ;
    5、文件格式:
        s文件:汇编源文件
        o文件:目标文件
        elf文件:ARM标准交换文件
        bin文件:ARM可执行程序
        dis文件:反汇编文件
四、GPIO控制LED例程
    1、原理图找到硬件连接图,找到相关信号
        GPG3_0 -> led4
        GPG3_1 -> led1
        GPG3_2 -> led2
        GPG3_3 -> led3
    2、找数据手册,查看信号的控制模块
        GPG3 -> GPIO Pad Control
        
    3、GPG3寄存器说明
        GPG3CON 0xe03001c0 选择管脚功能,相应的位设置为b0001则表示输  出 
        GPG3DAT 0xe03001c4 位对应相应管脚的状态
        GPG3PUD 0xe03001c8 内部上拉下拉控制
    4、编写程序
        
        make生成目标文件.bin
        通过loadb下载到开发板上运行程序 , 查看现象
五、 volatile 修饰词
    用于修饰易失性的变量,主要是寄存器的值,因为这些寄存器可能被ARM内核修改,  也可能被外设修改,所以每次要使用时必须重新读取。
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值