I have received a library which is pre-compiled for cortex M3. Can I cross-compile it for cortex M4 and port it without access to the original source code?
Can I port a library compliled for Cortex M3 onto a cortex M4?
578 views Asked by VRTester At
2
There are 2 answers
0
dhokar.w
On
ARM cortex M4 and Cortex M3 follows the same architecture ARMV7M so the instruction set is almost the same what work in cortex M3 must work in cortex M4 however you have to take care of the address of the peripherals between the two embedded hardware if there is a change so accessing some changed base address of peripheral will cause problems.
But take this as fundamental equation concerning ARM processor : Cortex M4= CortexM3 + DSP
Related Questions in ARM
- Jiobook flashing
- How to flush denormal numbers to zero for apple silicon?
- How to exploit Unified Memory in OpenCL with CL_MEM_ALLOC_HOST_PTR flag?
- ARM Assembly code is not executing in Vitis IDE
- Which version of ARM does the M1 chip run on?
- Vector by Scalar Division with -ffast-math
- Why veneer code generated by gcc for cortex-m0 seems 8-byte aligned?
- Getting almost random time stamp counter on ARM
- Portenta H7 Baremetal Development and a Little Guidance on Embedded System Learning Roadmap
- STM32 RTC3 Mixed Mode: Writing TR resets SSR
- Implementing Quick Sort Algorithm in Visual2 with armv7
- How can I create an Inline assembly command with a multi-variable register offset?
- Inquiry: ARM Compatibility for Puppeteer
- Confusion with thumb instructions while compiling recipe for cortexm4 CPU
- Difficulty understanding virtual LPIs in GICv3
Related Questions in STM32
- Build issue in my STM32-NUCLEO project using the Eclipse IDE
- STM32 ADC DMA low raw/Voltage readings
- Program doesn't run after DFU
- STM32G030 refuses write to flash
- STM32 - Serial Audio Interface (SAI) - dual data line transmit possible?
- CLion: Debug via St-Link
- STM32 RTC3 Mixed Mode: Writing TR resets SSR
- Ran on an MCU (STM32F1), doubly-linked list code results in a call of HardFault() due to stack overflow
- i want to display voltage of ADC with " ssd1306 OLED " in STM32 when i change the voltage with potentiometer
- spi5 of my STM32MP157F-K2 CAN'T read data from the RC522 CARD
- STM32 unable to be read
- Enabling one timer using another
- Confusion with thumb instructions while compiling recipe for cortexm4 CPU
- How to setup Interface Encoder mode for the STM32F0
- UART Driver for STM32MP25 by EDK2
Related Questions in CROSS-COMPILING
- cmake and g++ cross compilation looking for library in host sysroot path instead of target sysroot
- OpenSSL with C++ app - getting undefined references during compilation
- How to navigate to the structure definition for the target architecture when cross-compiling on Ubuntu with VS Code?
- yaml-cpp cross-platform building, how to build arm in x86 ubuntu vm
- Cross compiling godot as export template for arm
- How do I override location for dynamically linked libgcc_s?
- Xcode does not recognize PoDoFo built for iOS
- How to containerize the compilation process for a Rust-based Windows application on Linux?
- Shared library dependency is not forwarded by a static library target when privately linked
- Unable to cross-compile a simple program using MSVC 9
- cpython3.6.15 has Bus error (core dumped) problem in arm paltform
- can't find linker script when cross compiling for win32 from linux
- Swift binary built in docker causes "illegal instruction" crash on real Linux
- conan/cmake can't see llvm linker when cross-compiling from macOS (arm64) to Windows (x86_x64)
- How can I get "avr-unknown-gnu-atmega328" target working?
Related Questions in CORTEX-M
- Why veneer code generated by gcc for cortex-m0 seems 8-byte aligned?
- STM32G030 refuses write to flash
- Unable to read value from gpio set as input
- Microcontroller hangs with LWIP UDP
- Can't connect ST-Link with APM32F003 through OpenOCD
- programming and debugging of different sam types
- VTOR not found in STM32F030
- Unit tests on registers with bare metal programming
- Force .bss section to be in last program header
- J-Link script to flash program in S32K144 (allow security)
- Cortex-M external interrupt occurs when executing fault handler with higher priority
- Why gcc is not using S16-S31 registers of Cortex M7?
- Issue with measuring ARM MCU interrupt latency
- What is the most efficient way to write two (for example) bits of a register using cortex-m0 instruction set?
- How to do unaligned int store on ARM Cortex M4?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
If this library is in the form of ".a" file, then there is no way to "recompile" it, as you have no access to source code.
But if this code is NOT accessing any peripherals which are different on the two chips you want to use, then there's no need to recompile anything. ARM Cortex-M4 is almost identical to ARM Cortex-M3 - the former may have a FPU and has some DSP instructions, but at the same time supports all of the Thumb-2 instructions from ARM Cortex-M3.
So this all depends on what this library is actually doing...