迅为龙芯2K1000开发板通过汇编控制GPIO

这篇具有很好参考价值的文章主要介绍了迅为龙芯2K1000开发板通过汇编控制GPIO。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一小节,我们使用了 C 语言控制了 gpio,这一小节我们来看一下如何使用汇编来控制 gpio 呢?有的

同学可能会有疑问了,既然我们可以使用 C 语言来控制 gpio,为什么我们还要使用更底层的汇编语言呢,

如果我们要使用 C 语言,是不是需要等待 C 语言环境建立起来才可以使用呢,那他是不是就要比汇编稍微

的慢一些呢,如果我们想让他上电立马就确定 gpio 管脚的电平的状态,使用汇编会更好些。

我们打开 Targets/LS2K/ls2k/start.S 下的 start.S 文件,我们在 9.4.2 小节里面已经确定了他的位置,这里

就不在赘述了。

然后我们在第 487 行输入以下代码,同样,这里还是用 gpio0 给大家举例

/*

*设置使用 GPIO 的方向为输出

*/

li v0, 0xbfe10500

ld v1, (v0)

dli a0, (1<<0)

//gpio0

or v1, a0

xor v1, a0

sd v1, (v0)

/*

*找到 GPIO 输出数据寄存器

*/

//0x10(v0)这种写法就是给 v0 地址偏移 0x10,v0 地址是 0xbfe10500,偏移 0x10 就是 0xbfe10510,即

输出数据寄存器

ld v1, 0x10(v0)

/*

*给数据寄存器写 1 输出高电平

*/

or v1, a0

sd v1, 0x10(v0) //on

/*

*延迟

*/

dli a2,0xffff

//delay

1:

subu a2, 0x1

nop

bgtz a2, 1b

/*

*给数据寄存器写 0 输出低电平

*/

or v1, a0

xor v1, a0

//off

sd v1, 0x10(v0)

/*

*延迟

*/

dli a2,0xffff

//delay

2:

subu a2, 0x1

nop

bgtz a2, 2b

如下图所示:

迅为龙芯2K1000开发板通过汇编控制GPIO,汇编,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-730592.html

到了这里,关于迅为龙芯2K1000开发板通过汇编控制GPIO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 迅为龙芯3A5000_7A2000COMe_模块和主板

    龙芯 3A5000+7A2000 COME 采用全国产龙芯 3A5000 处理器,基于龙芯自主指令系统 (LoongArche)的 LA464 微结构,并进一步提升频率,降低功耗,优化性能。桥片采用龙芯 7A2000,支持 PCIE 3.0、USB 3.0 和 SATA 3.0、显示接口 2 路、HDMI 和1 路 VGA,可直连显示器;另外内置一个网络 PHY,片内集成了

    2024年02月15日
    浏览(27)
  • 迅为龙芯3A5000主板,支持PCIE 3.0、USB 3.0和 SATA 3.0显示接口2 路、HDMI 和1路 VGA,可直连显示器

    性能强 采用全国产龙芯3A5000处理器,基于龙芯自主指令系统 (LoongArch@)的LA464微结构,并进一步提升频率,降低功耗,优化性能。 桥片 桥片采用龙芯 7A2000,支持PCIE 3.0、USB 3.0和 SATA 3.0显示接口2 路、HDMI 和1路 VGA,可直连显示器;另外内置一个网络 PHY,片内集成了自研GPU,搭配

    2024年02月04日
    浏览(32)
  • 龙芯S-2K2000板卡测试记录,loongnix系统已知问题及Buildroot跑DPDK

    安装系统时PMON需要使用acpi传参 pmon下USB键盘不支持热插拔 pmon下插入部分USB键盘 进pmon特别慢,兼容性问题,后续统一解决 不支持emmc,等待更新pmon 安装ubuntu20.04系统 解压龙芯交叉编译工具到/opt目录 修改ACPI传参。 文件路径:PMON下的Targets/ls2k2000/conf/ls.2k2000;配置文件:ls_

    2024年02月07日
    浏览(37)
  • 迅为RK3568开发板驱动开发指南-输入子系统

    《iTOP-RK3568开发板驱动开发指南》 更新,本次更新内容对应的是驱动 (第十三篇 输入子系统) 视频,帮助用户快速入门,大大提升研发速度。 第13篇-输入子系统 目录 第1篇 驱动基础篇 第2篇 字符设备基础 第3篇 并发与竞争 第4篇 高级字符设备进阶 第5篇 中断 第6篇 平台总

    2024年03月26日
    浏览(35)
  • Buildroot 取消默认QT桌面-迅为RK3588开发板

    本小节将讲解如何取消掉默认的 qt 桌面。 首先对开发板进行上电,开发板正常启动后,使用命令“cd /etc/init.d”进入到/etc/init.d 目录 下,然后使用以下命令对开机自启动脚本 rcS 进行查看,如下图所示: vi rcS 从上图可以看出,开机自启动脚本 rcS 默认会在/etc/init.d 目录下查

    2024年02月11日
    浏览(36)
  • 迅为RK3568开发板Buildroot 系统自启动 QT 程序

    本小节将讲解如何开机自启动 QT 程序。 在设置自启动 QT 程序之前,首先要编译好 QT 可执行程序,完成以下两步。 1、 已经根据 03_【北京迅为】itop-3568 开发板快速使用编译环境 ubuntu18.04 v1.0.doc 第 10 章节进行了 QT 程序的交叉编译 2、 将交叉编译出的 QT 可执行程序拷贝到/u

    2024年02月12日
    浏览(33)
  • 迅为RK3568开发板RTMP推流之视频监控

    1 搭建 RTMP 媒流体服务器 nginx-rtmp 是一个基于 nginx 的 RTMP 服务模块,是一个功能强大的流媒体服务器模块, 它提供了丰富的功能和灵活的配置选项,适用于构建各种规模的流媒体平台和应用。无论是搭建实时视频直播平台、点播系统或多屏互动应用, Nginx-RTMP 都是一个值得考

    2024年02月07日
    浏览(29)
  • 迅为RK3588开发板编译 Buildroot单独编译图形化界面三

    第三步:编译 Recovery 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面,进入之后如下所示: ./build.sh 然后将光标移动到第四个 recovery,点击回车即可开始 recovery 的编译,编译过程如下所示: 编译完成如下图所示: 第四步:编译 buildroot 关注下一章节,迅为R

    2024年02月02日
    浏览(29)
  • 龙芯下如何进行.net core程序开发部署

    2022年4月,基础的运行时架构代码全部通过社区技术评审, 。.NET国际开源社区正式宣布支持LoongArch(龙架构),目前LoongArch64架构已出现在.NET社区主干分支上。 .NET 是一个免费的跨平台开源开发人员平台,用于生成许多不同类型的应用。使用 .NET,可以使用多种语言、编辑器

    2024年02月08日
    浏览(34)
  • 迅为rk3568开发板RS485收发切换 linux485驱动修改

    Linux RS485串口驱动修改方法–基于Rockchip及Amlogic验证 linux驱动 内核层适配485驱动控制引脚 迅为rk3568开发板用的SP3485E芯片,需要在应用程序中控制管脚的高低电平实现收发切换。 发送前先拉高电平,然后发送数据,数据发送完成后再拉低电平,使其处于接收状态。 在程序中,

    2024年04月25日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包