stm32f401 | A set of tools to assist with reverse engineering
kandi X-RAY | stm32f401 Summary
kandi X-RAY | stm32f401 Summary
This repository contains a number of helpers for attempting to reverse engineer devices using an STM32F401 microcontroller. Though these tools may work on other STM32 platforms they have not been tested. The main components in this repository are intended to provide helpers for loading firmware dumps into IDA - assisting with patching up a few common issues to assist with getting initial auto-analysis working. In addition, this repository contains a Vagrantfile which will provision a CentOS 8 virtual machine with a patched version of beckus' STM32 qemu fork in order to provide a virtual platform in which dynamic analysis can be performed. As below, this is tested and confirmed working for a device which uses an STM32F401 - though there are some issues currently, as the patch does not completely emulate the device.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Return a list of literal pools
- Check if a string entry exists
- Get a dictionary of pseudo instructions
- Creates a set of string literals
- Get the Dword value
- Set the T value of an address
stm32f401 Key Features
stm32f401 Examples and Code Snippets
Community Discussions
Trending Discussions on stm32f401
QUESTION
I am trying to bitbang-read or rather sniff an I2C port. I have successful I2C communication between a master I2C device and a Nucleo stm32F401 board. Nucleo slave sending using DMA. Then I am using 2 pins from the same Nucleo to try to sniff the communication. Both of the pins are configured as inuputs with pull-ups.
I read the pins' value like this:
...ANSWER
Answered 2022-Feb-07 at 21:16AN I2C start condition is a falling edge of data while clock remains high. To detect it from GPIO you need to do something like:
QUESTION
I am working on an STM32F401 MC for audio acquisition and I am trying to send the audio data(384 bytes exactly) from ISR to a task using queues. The frequency of the ISR is too high and hence I believe some data is dropped due to the queue being full. The audio recorded from running the code is noisy. Is there any easier way to send large amounts of data from an ISR to a task?
The RTOS used is FreeRTOS and the ISR is the DMA callback from the I2S mic peripheral.
...ANSWER
Answered 2021-Dec-14 at 12:44The general approach in these cases is:
- Down-sample the raw data received in the ISR (e.g., save only 1 out of 4 samples)
- Accumulate a certain number of samples before sending them in a message to the task
QUESTION
I am trying to program the STM32F401 flash on our board in DFU mode. I am using the dfu-util tool in my linux computer.For my project requirements the BOOT 0 pin is always kept high throughout the process.
I am using the following command to flash and jump to application code.
...ANSWER
Answered 2021-Aug-30 at 08:25I found the issue. I had to uncomment the define USER_VECT_TAB_ADDRESS
in the system_stm32f4xx.c file.
Basically what was happening was that bootloader was looking for a loadable vector address from the flash application. With the USER_VECT_TAB_ADDRESS
commented the pointer to the vector address kept pointing to the bootloader vector table effectively crashing the flash application resetting the controller. With the BOOT 0 pin high it kept loading into bootloader with each reset.
More information about this is available in this similar question: STM32G474 bootloader exit
QUESTION
I've programmed my STM32F401 in C and Rust but am having a problem with assembly.
- When I initially load the code with a Black Magic Probe, it runs fine
- When my board powers up or is reset, the code doesn't run.
- After reset, in GDB, if I try to Continue it, it throws an exception.
- After reset, in GDB, if I try to Run it, it runs fine
The actual code in the reset handler is the perennial "blinky". I'm sure there's no problem with the code, this "smells" of some kind of "initialisation issue"?
- I'm a massive GDB noob, but if I do
info registers
, PC is always the value I'd expect - 0x8000198
ANSWER
Answered 2021-Feb-09 at 19:41 8000004: 08000198 .word 0x08000198
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install stm32f401
You can use stm32f401 like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page