转自:http://blogold.chinaunix.net/u2/69404/showart_1922655.html ARM GCC 内嵌(inline)汇编手册 百度云:http://pan.baidu.com/s/1qW6my52 关于这篇文档这篇文章是本人为方便各位业界同仁而翻译,方便大家开发底层代码使用,转载请注明出处,谢谢.要是你E文功底好,本人还是建议阅读E文版的. http://www.ethernut.de/en/documents/arm-inline-asm.html…
转自:http://blogold.chinaunix.net/u2/69404/showart_1922655.html ARM GCC 内嵌(inline)汇编手册 关于这篇文档这篇文章是本人为方便各位业界同仁而翻译,方便大家开发底层代码使用,转载请注明出处,谢谢.要是你E文功底好,本人还是建议阅读E文版的. http://www.ethernut.de/en/documents/arm-inline-asm.html 对于基于ARM的RISC处理器,GNU C编译器提供了在C代码中内嵌汇编…
ARM上的linux如何实现无线网卡的冷插拔和热插拔 fulinux 凌云实验室 1. 冷插拔 如果在系统上电之前就将RT2070/RT3070芯片的无线网卡(以下简称wlan)插上,即冷插拔.我们通过分析系统启动流程过程中的运行的脚本,将启动wlan的脚本加入其中,就可以实现自动运行wlan.. 系统启动后的第一个进程/sbin/init.init进程最主要的功能就是准备软件执行的环境,包括系统的主机名.网络配置.语系处理.文件系统格式以及其他服务的启动等.而所有的操作都会通过init的配置文…
使用GCC Arm工具链开发的项目, 在升级到 arm-gnu-toolchain-12.2 之后, 编译出现警告 arm-gnu-toolchain-12.2.mpacbti-bet1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: warning: Build/app.elf has a LOAD segment with RWX permissions 关于…
[ARM编程模型] 硬件: 电路原理图 软件: 体系结构, 指令集, 寄存器组 [ARM编程技术] 汇编/C语言 编译, 链接, 烧写和调试 windows: MDK linux  : gcc [ARM接口编程] 电路原理图 datasheet ------> 裸机程序(不带操作系统,直接操作硬件) 中断技术 初始化程序 [ ARM基础知识] 1. 冯·诺依曼结构特点:      采用二进制表示数据和程序      事先存储程序      利用控制流来驱动程序      五大部件  2. CPU…
<Windows Azure Platform 系列文章目录>      Azure ARM (1) 概览      Azure ARM (2) 概览      Azure ARM (3) ARM支持的服务类型      Azure ARM (4) 开始创建ARM Resource Group并创建存储账户 本文需要的ARM Template,在这里下载. 在之前的文章里,笔者介绍了:我们可以在ARM模式下,通过JSON Template来部署Azure资源.通过使用JSON Template…
<Windows Azure Platform 系列文章目录>      Azure ARM (1) 概览      Azure ARM (2) 概览      Azure ARM (3) ARM支持的服务类型      Azure ARM (4) 开始创建ARM Resource Group并创建存储账户 在上一节中,笔者介绍了如何从现有的Azure Resource Group导出Template. 接下来,我们将总体介绍Azure Template. 1.首先,我们打开文本编辑器,创建一…
引入设备树后bootloader加载DTB方法: 1. 标准方法 将linux kernel放到内存地址为<kernel img addr>的内存中. 将DTB放到地址为<dtb addr>的内存中. 在u-boot下通过下面的命令启动内核: bootm <kernel img addr> – <dtb addr> 2.兼容方法 配置内核CONFIG_ARM_APPENDED_DTB选项,将DTB放到紧跟内核后面的地址. 具体方法如下: 1)将DTB放到内核…
将脚本移植到内核是一件非常酷的事情,lua已经被移植到NetBSD的内核中,也有一个叫lunatik的项目把lua移植到了linux内核.仅仅可惜仅仅支持x86.不支持arm,在网上搜索了下,没有找到现成的,于是自己研究了下,现将它分享出来. 移植到arm平台,主要是要又一次实现setjmp和longjmp两个函数.网上相关的资料非常少.最后最终找到一个klibc的项目,里面有setmp和longjmp的arm平台的实现,于是直接拿来用了,不用说,当看到脚本在内核中运行并打印出"hello,wo…
参考:arm-linux内存页表创建 arm的第一级页表条目数为4096个,对于4K页第二级目录条目个数为256个,一级二级条目都是每个条目4字节. 在linux下二级分页如下:虚拟地址——> PGD转换——> PTE转换——>物理地址. arm-linux假装第一级目录只有2048个条目,但其实每个条目是2个ulong大小即8字节,所以最终设置MMU的还是4096个条目,只是每访问1个pgd条目将可以访问到2个pte条目,linux为了实现其内存管理功能又在后面加上2个对应的假pte表…