Tags: compare delivery cloc Services res href minimum result modification1. PrefaceThis article describes the configuration items that are related to Linux kernel and startup under the ARM64 architecture.NOTE 1: The Linux kernel version used in this article series is " X Project "The use of" Linux 4.6-RC5 ", for specific reference" Https://github.com/wowotechX/linux.git ". 2. kconfig fileThe configuration items in the
in the/developer/usr/bin directory. This debugserver only supports debugging our own app, and if you need to debug other people's apps, you need to deal with this debugserver process, as described below.
2. Debugserver to the body
Lipo-thin arm64 debugserver-output Debugserver
Go to the Mac in the directory where the Debugserver to execute the above command,-thin to fill in the rear of your test machine corresponding to the ARM structure, becaus
Mach-o (Mach object) file format?This format is very rare in Chinese, and the most detailed is Apple's official documentation, this article does not repeat the contents of the Mach-o file format, only the experience when using IDA reverse iOS application.Mach-o Detailed documentation Reference: https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/MachORuntime/index.htmlThe Mach-o format can contain executable code for multiple target platforms, such as executable code
we'll go straight to finish.4, plug in the phone (the simulator is too slow, it is recommended to use the real machine) to run the project. We can see the following information in the C + + interface viewBuild of configuration Default for project Hellojni ****/users/lixiaoqiang/documents/install_tools/ndk/ Android-ndk-r10c/ndk-build all Android NDK:WARNING:APP_PLATFORM android-19 are larger than android:minsdkversion 3 in./A Ndroidmanifest.xml [arm64
Some of the most common causes are:1 build without the frameworkFor example, there's a piece of code I used OpenGL to introduce a header file#import Build, compile stage no problem, but link error undefined symbols for architecture xxx (here XXX may be armv7s,armv7 or arm64, depending on the configuration, will say later). The workaround is to add the opengles.framework to the build phases link Binary with libraries, and then compile on the OK2 Engine
is the address of class under 32 bits, but using bits mask under 64 bits to remove the real address, if you really need to, use runtime object_getClass and object_setClass methods. For a 64-bit explanation of ISA, you can read this articleResolve third-party Lib dependencies and Lipo commandsIn the form of the source code in the project of the third-party LIB, as long as the target plus arm64 compile the good.The disgusting thing is that the static l
Swift basics-ijkplayer Compilation
This article has nothing to do with Swift, but it will be used later. This compilation uses Mac to compile the IOS version. below is the compilation process, and finally the entire project, because the download is too slow.
1. Download source code
Git clone https://github.com/bbcallen/ijkplayer.git
2. Compile
Cd ijkplayer-ios-stable
./Init-ios.sh // download dependency package here
./Compile-ffmpeg.sh // compile here, there are several options, I chose all
3.
:
ANDROID_NDK_ROOT=/cygdrive/d/ProgramFiles/Android/android-sdk/android-ndk-r10dPATH=/cygdrive/d/ProgramFiles/Android/android-sdk/android-ndk-r10d:/cygdrive/d/Soft/Java/eclipse/plugins/org.apache.ant_1.8.4.v201303080030/bin:$PATH
8. If x86_64 is compiled, You need to assign the value of APP_ABI in Application. mk to: APP_ABI: = x86_64.
9. If you compile the armv8-a, You need to assign the APP_ABI value in Application. mk to: APP_ABI: = arm64-v8a
10.
currently 7 kinds. ARMV5,ARMV7 (since 2010), x86 (from 2011 onwards), MIPS (from 2012 onwards), Armv8,mips64 and x86_64 (from 2014), each of which is associated with a corresponding ABI. On an Android system, each CPU architecture corresponds to a abi:armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64. The names of these packages cannot be changed casually.While we are in the development, As much as possible, each ABI-optimized. So file should not
I use Symbolicatecrash to do crash file symbols when found that no effect, try to use Atos for crash file to sign. Special record use process.
Documents Required for Prerequisites:
The Appname.app.dSYM is in the package that was packaged in Xcode archive.
1, search the Xx.crash file in the last Exception backtrace: Find the project corresponding record
You can see two addresses at this point:
0x0000000101250000 is the loading address of the module
0x0000000101488a10 is the address where c
-r10dpath=/cygdrive/d/programfiles/ android/android-sdk/android-ndk-r10d:/cygdrive/d/soft/java/eclipse/plugins/org.apache.ant_1.8.4.v201303080030/ Bin: $PATH8. If compiling x86_64, you will need to assign the App_abi in application.mk: app_abi: = x86_649. If compiling armv8-a, you will need to assign the App_abi in application.mk: app_abi: = arm64-v8a10. Other basic operation steps can refer to: (1), http://blog.csdn.net/fengbingchun/article/details/1
"architectures" and "Valid architectures" in Xcode Build Settings?Reference 4:Xcode 5 and IOS 7:architecture and Valid architecturesReference 5:How to the Stop xcode5.1 building for 64bitReference 6:1. Xcode Build Setting Reference (Apple Official document)2.64-bit Transition Guide for Cocoa Touch (Apple official documentation)shede333Home: http://my.oschina.net/shede333Copyright Notice: Original article, copyright notice: Free Reprint-Non-commercial-non-derivative-maintain attribution | Creati
Xcode instruction set, xcode Instruction Set
Currently, ios provides the following instruction sets:
I386: macArmv6: iPhone, iPhone E2, iPhone 3G, first generation and second generation iPod TouchArmv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, iPad MiniArmv7s: iPhone5, iPhone5C, and iPad 4ARMv8/ARM64: iPhone 6 (Plus), iPhone 5S, iPad Air (2), Retina iPad Mini (2, 3)
The machine's support for instruction sets is backward co
, so you can skip this step and Finish it directly.
4. Plug in the mobile phone (the simulator is too slow. We recommend using a real machine) to run the project. In the C/C ++ interface view, we can see the following information:
**** Build of configuration Default for project HelloJni ****/Users/lixiaoqiang/Documents/install_tools/ndk/android-ndk-r10c/ndk-build all Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 3 in ./AndroidManifest.xml [
has not been included in the kernel management scope;
Present state of the CPU, is already "populated" CPU, can be understood as has been kernel taken over;
The CPU on the online state, indicating that it can be used by the scheduler;
The active state of the CPU, which means that it can be migrate (what it means. );
If the system does not enable CPU HotPlug function, then present equals possible,active equals online.
It is not very easy to understand, not anxious, we an analysis. 2.1 Possible C
for ARM32, ARM64, and x86-64 rchitectures:If the above command is not valid, download the applicable GCC toolchain tool and the command is as follows:
CD $SRC
git clone https://fuchsia.googlesource.com/third_party/gcc_none_toolchains
cd Toolchains
. Doit-a ' arm aarch64 x86_64 '-f-j32
build qemu-Compile Qemu
You can skip this if you ' re only testing on actual hardware, but the emulator are handy for quick local tests and generally Worth has around
First, the preparatory work
1. Download the latest kernel on the website Source Code :
https://developer.nvidia.com/embedded/downloads#?tx= $software, L4T-TX1
2, ubuntu16.04 compilation environment preparation:
Download two cross compiler Aarch64-linux-gnu and ARM-LINUX-GNUEABIHF, both compilers are required for cross-compilation, and can be downloaded on Linaro website: https://www.linaro.org/downloads/
3, decompression kernel source code and cross-compiler in the appropriate location:
TA
Tags: level inux image BSP using kernel tools Arch StrongEnvironment: Qemu + ARMV8Perf is a comprehensive analysis tool that is large to system-wide performance, smaller to the process thread level, or even to the function and assembly level.Execute the compile script under the kernel source directory:#!/bin/bashcross_compile=aarch64-linux-gnu- make cross_compile= $cross _compile arch=arm64 Defconfig make cross_compile= $cross _compile arch=
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.