嵌入式基础
astrotycoon
这个作者很懒,什么都没留下…
展开
-
正确理解补码
参考链接:《Two’s Complement Representation: Theory and Examples》《Storing Integers: Unsigned and Two's Complement》《Why two’s complement works》《A Tutorial on Data Representation -- Integers, Floating...原创 2019-12-22 16:06:37 · 305 阅读 · 0 评论 -
ELF节头表分析
Sections 节An object file's section header table lets one locate all the file's sections. The section header table is an array of Elf32_Shdr or Elf64_Shdr structures as described below. A section hea...原创 2014-12-20 15:25:21 · 3059 阅读 · 0 评论 -
Essential GNU Linker Concepts for Embedded Systems Programmers
非常好的文章,最大的收获是通过实例让我们明白了VMA(virtual memory address)和LMA(load memory address)的区别。原文地址:http://jeffrey.co.in/wiki/essential_gnu_linker_concepts_for_embedded_systems_programmers免费PDF下载地址:http://ishare.翻译 2012-12-14 11:55:33 · 1405 阅读 · 0 评论 -
Load-time relocation of shared libraries
一篇关于装载时重定位技术的文章,翻译的不好,还望批评指正!免费PDF文档下载地址:http://ishare.iask.sina.com.cn/f/35236483.html 或者: http://wenku.baidu.com/view/d67a3108a6c30c2259019e6a.html翻译 2012-12-26 16:03:20 · 2441 阅读 · 0 评论 -
Position Independent Code (PIC) in shared libraries
很好的文章,阐述x86上得位置无关代码的实现,翻译的不好,还望批评指正。免费PDF文档下载地址:http://ishare.iask.sina.com.cn/f/35290470.html或者http://wenku.baidu.com/view/506fe43a31126edb6f1a106a.html?st=1I’ve described the need for special原创 2012-12-31 23:15:27 · 4196 阅读 · 0 评论 -
一段自己打印自己的C程序
今天发现了一段很有意思的C程序(http://blog.chinaunix.net/uid-233938-id-162628.html),实现的功能就是自己打印自已的内容。这其中的道理其实是在程序链接阶段做了手脚!先看程序如下:#include <stdio.h>#include <stdlib.h>extern char * _binary_test_...原创 2013-08-11 16:19:21 · 2474 阅读 · 0 评论 -
ELF总览
开始之前之所以打算深入学习ELF文件格式,根本原因是在研读《程序员的自我修养》这本书时受到了启发。想必很多人跟我一样,在学习编程的起始阶段,很多知识都是书本或者是网络直接获取来的,可惜大多时候这些知识有些让人摸不着头脑,究其原因是因为我们没有实实在在地看到它们的存在。同样的,编程过程中遇到的很多问题,也有相当一部分是对编译链接的知识欠缺导致的。那么学习ELF文件格式有什么好处呢? 最明显的...原创 2014-12-20 15:23:34 · 1326 阅读 · 0 评论 -
捕捉信号SIGSEGV并回溯栈帧
引出问题在嵌入式应用程序开发过程中,调试一直是个老大难问题 -- 由于环境的限制,当程序发生段错误时不能很好的定位到底是哪里出现了错误,如果在程序发生段错误时能够清晰明了地看到程序的栈帧链,那无疑是雪中送炭。本文就捕捉信号SIGSEGV并在该信号的处理函数中打印出函数栈帧链来帮助我们调试程序。本文的程序适合ARM和X86平台。回溯栈帧原理理解函数栈帧的布局后,那么自然明白回溯栈帧的原理了,这里不多...原创 2015-04-27 20:43:21 · 7930 阅读 · 8 评论 -
ELF文件头分析
ELF HeaderSome object file control structures can grow, because the ELF header contains their actual sizes. If the object file format changes, a program may encounter control structures that are lar...原创 2014-12-20 15:24:07 · 3057 阅读 · 0 评论 -
ELF符号表分析
Symbol TableAn object file's symbol table holds information needed to locate and relocate a program's symbolic definitions and references. A symbol table index is a subscript into this array. Index ...原创 2014-12-20 15:27:16 · 8891 阅读 · 0 评论 -
ELF字符串表分析
String TableString table sections hold null-terminated character sequences, commonly called strings. The object file uses these strings to represent symbol and section names. One references a string...原创 2014-12-20 15:26:35 · 4905 阅读 · 0 评论 -
Position Independent Code (PIC) in shared libraries on x64
免费PDF文档下载地址:http://ishare.iask.sina.com.cn/f/35309731.html或者:http://wenku.baidu.com/view/5668e23a31126edb6f1a106d.html The previous article explained how position independent code (PIC) w翻译 2013-01-02 15:13:24 · 2184 阅读 · 0 评论 -
c51软复位,实在经典,分析实在透彻
2004年7月的一天,在电子BBS讨论区上溜达,看到一个有趣的帖子,整个帖子内容如下:纯C51复位功能函数:一个大三学生,让人又爱又怕现单列复位部分如下:main(){ unsigned char code rst[]={0xe4,0xc0,0xe0,0xc0,0xe0,0x32}; // 复位代码 (*((void (*)())(rst)))()转载 2013-05-03 20:10:05 · 1970 阅读 · 0 评论 -
51中ret和reti的区别
今天阅读巨龙公司系统集成开发部 杨屹 的《uCOS51移植心得》时看到一句话:RETI指令复位中断系统,RET则没有。实践表明,对于MCS-51,用子程序调用入栈,用中断返回指令RETI出栈是没有问题的,反之中断入栈RET出栈则不行。总之,对于入栈,子程序调用与中断调用效果是一样的,可以混用。在没有中断发生的情况下复位中断系统也不会影响系统正常运行。具体原因,文中并没有点明。由此引发ret和ret原创 2013-05-03 20:34:01 · 20744 阅读 · 3 评论 -
Motherboard Chipsets and the Memory Map -- 主板芯片和内存映射
I’m going to write a few posts about computer internals with the goal of explaining how modern kernels work. I hope to make them useful to enthusiasts and programmers who are interested in this stuff翻译 2013-12-10 13:17:39 · 1910 阅读 · 0 评论 -
How Computers Boot Up -- 计算机是如何启动的
The previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair – fun stuff. Here’翻译 2013-12-21 12:41:10 · 2201 阅读 · 1 评论 -
ELF重定位简介
Relocation 重定位Relocation is the process of connecting symbolic references with symbolic definitions. For example, when a program calls a function, the associated call instruction must transfer contr...原创 2014-12-20 15:28:57 · 3324 阅读 · 0 评论 -
ELF程序头分析
未完待续。参考链接:《Program Header》原创 2014-12-20 15:29:45 · 804 阅读 · 0 评论 -
A Sample Linker Script
原文地址:http://hertaville.com/2012/06/29/a-sample-linker-script/ A sample script file that will work with C based projects is provided below:?12345678910111213转载 2012-12-14 21:57:22 · 1469 阅读 · 0 评论