, the system must respond faster, if the duration of processing is short, it is set to FIQ. Otherwise, IRQ is set.
If the interrupt is set to IRQ, when the interrupt occurs, the interrupt processor tells arm through the IRQ request line that an IRQ interrupt occurs and the arm switches to IRQ mode to run. Similarly, if the interrupt is set to FIQ, when the interrupt occurs, the interrupt processor informs the arm through the FIQ request line, and the arm knows that there is a FIQ interrupt, the
Debugging: Use of the addr2line command in debugging.Cause: After i850 WiFi is enabled, rootfs restarts when Goole maps is used. The printed log information is as follows://////////////////////////I/debug (3411 ): ************************************************I/debug (3411): Build fingerprint:'Prowave/i850/i850/: eclair/eng. zhangjiejing.201002.16.113200: Eng/test-keys'I/debug (3411): PID: 3436, TID: 3475 >>>> system_serverI/debug (3411): Signal 11 (SIGSEGV), fault ADDR 00000000I/debug (3411):
(INDEX) // unreference, write a byte '% {}$ lln '. format (INDEX) // unreference, write eight bytes % 1 $ lx: RSI % 2 $ lx: RDX % 3 $ lx: rcX % 4 $ lx: r8 % 5 $ lx: R9 % 6 $ lx: The first qword on the stackCheck protection measures
Follow the routine, firstchecksec crack:
We can see that the Canary found and the unexecutable stack (nx) measures are enabled, which clearly allows us to start elsewhere.
Run the following command:
We need to ent
follows,SWI (# num | 0x900000) (0x900000 is a magic value)
That is to say, the original call method (old Abi) is implemented by following the call number in the SWI command. Now it is based on the value in R7.
Now let's look at two macros. One isConfig_oabi_compat indicates compatibility with the old Abi.
The other isConfig_aeabi indicates specifying the current method as Eabi.
These two macros can be configured at the same time, neither deserve nor can be configured.
You can refer to: http://f
43891f6c R7 42084eb0
I/debug (971): R8 4a570b80 R9 42084ea8 10 42084e94 FP 0011f3e0
I/debug (971): IP a7f0110c SP 4a570b50 LR ae203247 PC 815009ba CPSR a0000030
I/debug (971): #00 PC 000009ba/system/lib/HW/sensors. Default. So
I/debug (971): #01 PC 00003244/system/lib/libandroid_servers.so
I/debug (971): #02 PC 00011cf4/system/lib/libdvm. So
I/debug (971): #03 PC 0003f194/system/lib/libdvm. So
I/debug (971): #04 PC 00016cb8/system/lib/libdvm. So
I/de
0x20000100 of the kernel. In this way, the parameter linked list is created.
4. kernel receiving ParametersThe following describes how the Linux kernel receives the kernel parameters passed by bootloader from the zimage Image Based on the ARM architecture,
In the file ARCH/ARM/boot/compressed/head. S, start is the starting point of zimage. Some code is as follows:Start:MoV R7, r1MoV R8, r2......MoV r0, r4MoV R3, r7BL decompress_kernelB call_kernelCall_kernel:......MoV r0, #0MoV R1, r7MoV R2, R8
For details about how to debug the gdb process on Android, refer to the previous article.
If an android application contains a dynamic library call, a bunch of addresses are provided after the application exits unexpectedly,
For example
I/debug (841): Signal 11 (SIGSEGV), fault ADDR deadbaadI/debug (841): R0 00000000 R1 afd1498d R2 00000027 R3 00000070I/debug (841): R4 afd42328 R5 00000000 R6 00000000 R7 4e6fae30I/debug (841): R8 00100000 R9 a811c2f9
position of the task stack** OPT: additional parameter. The current version is useless for this function. For more information, see the OPT parameter of ostaskcreateext ().** Output: Stack top pointer position** Global variables:** Call module:**************************************** **************************************** ************************/
OS _stk * ostaskstkinit (void (* task) (void * PD), void * pdata, OS _stk * ptos, int16u OPT){OS _stk * STK;
Opt = OPT;/* 'opt' is not used. The fu
'elf _ common_init ':./Linux/include/ASM/elf. h: 166: Error: structure has no member named 'r8'./Linux/include/ASM/elf. h: 166: Error: structure has no member named 'r9'./Linux/include/ASM/elf. h: 166: Error: structure has no member named 'r10'./Linux/include/ASM/elf. h: 166: Error: structure has no member named 'r11'./Linux/include/ASM/elf. h: 167: Error: structure has no member named 'r12'./Linux/include/ASM/elf. h: 167: Error: structure has no mem
remove the devfs, although you can also find the corresponding source code in the kernel source code, you can also add it to the kernel, but it is not very easy to use. The version later than 2.6.13 is changed to support udev. I don't know much about udev. I am studying it. So if you are a linux-2.6.13 version of the kernel, compile it to add the dev filesystem surpport option in the pseudo filesystems, that is, to add devfs support, if the version after the linux-2.6.13, you can check whether/
: ---------------------------------- R9 | (no author information) |... Ossxp.com anonymous commit TestAnonymous Submission causes no author informationCheck the version library permission control and prohibit anonymous submission.9.Sending... transfer file data. SVN: submission failed (details are as follows): SVN: commit blocked by pre-commit hook (exit code 1) with output: The submission description should contain at least 4 characters, or it is too
){ return x The above code is very concise. Let's take a look at the Code Compiled by GCC-O3. The default-O Option Code will not be listed. You can try the following by yourself:
. Compare2 :. lfb40: XOR, 4 // R3 = x, r4 = ycmpw, 3, 4 srawi 11, 0, 31 // R0 arithmetic right shift 31-bit Li 9,-1xor, 0 subf 3, 3, 11 // This command means R3 = R11-r3blt 7 ,. l15srwi 9, 3, 31 // R9 = R3 logic shifts 31 bits to the right. l15: extsw 3, 9blrI probably kn
in the Assembly. The 16 registers have another naming method.
A1 ~ A4 corresponds to R0 ~ R3 serves as the input parameter of the function. R0 is the return value. V1 ~ V6 for the corresponding R4 ~ R9, used as a local variable. FP corresponds to R11 initialization frame pointer register IP corresponding to R12 internal process call register, SP corresponds to R13 Stack pointer. LR corresponds to R14, And the link register PC corresponds to R15 pro
Tags: using file sp c r BS Learning Object WebAmong the knowledge points to be mastered at the Web Front-end, PS is essential. I just learned PS today, and I feel very interesting! The use of shortcut keys can save a lot of unnecessary operations. Below I will summarize the shortcut keys I used today:1. Return: Ctrl + z (one step)2. Return Value: ctlr + ALT + z (multiple steps)3. Free Transformation: ctlr + T4. Pull object: Press and hold the Space key + mouse to pull the object5. View Size Chan
small program that calls settimefoday. After 60 s, the following warning occurs:
Try it on arm in the same way
BUG: Soft lockup-CPU #2 stuck for 22 s! [Settimeofday: 1, 485]Modules linked in:
PID: 485, COMM: settimeofdayCPU: 2 not tainted (3.3.0-RC3 + #48)PC is at do_settimeofday + 0xd8/0xe4LR is at do_settimeofday + 0xd7/0xe4PC: [>] LR: [Arm-non-linux-addr2line-e vmlinuxWhich code line can be obtained for 800491e8?SP: 86d97f30 IP: 00000000 FP: 00000000R10: 00000000
Source: http://blog.csdn.net/embeddedfly/article/details/6150452
Detailed analysis of MMU setting process in ce5.0-eboot Assembly startup. s
The following is the startup code of the smdk Development Board startup. S.;-------------------------------------------------------------------------------
Memorymap equ 0x2a4Bank_size equ 0x00100000; 1 MB per bank in memorymap ArrayBank_shift equ 20
; Define Ram space for the page tables:;Phybase equ 0x30000000; physical startPTS equ 0x30010000; 1st leve
-togif.gif-x 600-Y 600
10. pmapPmap can report the memory usage of one or more processes. Use pmap to determine which process on the host causes memory bottleneck due to excessive memory usage.Pmap 1: initStart size RSS dirty perm Mapping08048000 484 K 244 K 0 k r-XP/sbin/init080c1000 4 K 4 K 4 k rw-P/sbin/init080c2000 144 K 24 k 24 k RW-P [heap]Bfb5b000 84 K 12 K 12 k rw-P [Stack]Ffffe000 4 K 0 K 0 K --- P [vdso]Total: 720 K 284 K 40k232k writable-private, 488 K readonly-private, and 0 K shared
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.