daniel-dona / beken7252-opencam Goto Github PK
View Code? Open in Web Editor NEWRT-Thread alternative project for A9 cameras
RT-Thread alternative project for A9 cameras
Hi, I have a problem with the installation:
docker run -v$(pwd)/project:/build bk7252-builder
Building BK7252 project...
scons: *** No SConstruct file found.
File "/tools/scons/bin/../engine/SCons/Script/Main.py", line 940, in _main
scons: *** No SConstruct file found.
File "/tools/scons/bin/../engine/SCons/Script/Main.py", line 940, in _main
thank you and greetings,
VC
LINK rtthread.elf
/tools/gcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld: address 0x140db2 of rtthread.elf section .rodata' is not within region
flash'
/tools/gcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld: rtthread.elf section .opus.low.data' will not fit in region
flash'
/tools/gcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld: address 0x1417f2 of rtthread.elf section .rodata' is not within region
flash'
/tools/gcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld: address 0x1417f2 of rtthread.elf section .rodata' is not within region
flash'
/tools/gcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld: region `flash' overflowed by 21628 bytes
collect2: error: ld returned 1 exit status
scons: *** [rtthread.elf] Error 1
scons: building terminated because of errors.
Help the project with my Little Star app camera?
Id start with ACCQ
Maybe this, I'm not sure, but it looks the same
https://www.amazon.de/SALUCIA-WiFi-%C3%9Cberwachungskamera-Intelligente-Nachtsicht-Bewegungserkennung-Au%C3%9Fenbereich/dp/B0B3WZ85YC
a9 l2 v7 bord
Hi Daniel,
Thank you for your effort on beken7252-opencam
Could please share (on few lines) the procedure to unbrick a BK7252 ?
I've erased accidentally the chip so no logs are visible in the serial console anymore
I am trying to recover the bootloader of this mini camera.
Reading the BK7252 datasheet I found that it is possible to transfer data through its peripheral or SDIO controller. The BK7252 SDIO (secure digital input/output) controller supports master and slave modes. It can operate at clock speeds up to 50 MHz, which is suitable for high-speed data transfers.
The SDIO controller has two modes of operation:
Master Mode: In this mode, the BK7252 SDIO controller acts as a master device, initiating data transfers and communicating with external devices such as SD cards. In this mode, the BK7252 can read data from or write data to an external SD card.
Slave Mode: In this mode, the BK7252 SDIO controller acts as a slave device and responds to commands from an external host. In this mode, the BK7252 can be used to communicate with external hosts, such as a computer or other microcontroller.
The SDIO controller supports four data widths: 1-bit, 4-bit, and 8-bit modes. 1-bit mode is the lowest speed mode, while 4-bit mode is the highest speed mode. 8-bit mode is not supported by the BK7252 SDIO controller.
The SDIO controller in the BK7252 has a dedicated DMA (Direct Memory Access) channel. This DMA channel can operate at high speeds without loading the main microcontroller (MCU). This ensures fast and efficient data transfers between the BK7252 SDIO controller and external devices or hosts.
Below is an example of how to configure the SDIO controller in master mode:
void sdio_master_init(void)
{
uint32_t reg_val;
/* Enable SDIO clock */
reg_val = BL_RD_REG(GLB_BASE, GLB_CLK_CFG0);
reg_val |= (1 << 16);
BL_WR_REG(GLB_BASE, GLB_CLK_CFG0, reg_val);
/* Configure SDIO as master */
reg_val = BL_RD_REG(SDIO_BASE, SDIO_CTRL);
reg_val &= ~(1 << 0);
BL_WR_REG(SDIO_BASE, SDIO_CTRL, reg_val);
/* Configure SDIO clock speed */
reg_val = BL_RD_REG(SDIO_BASE, SDIO_CLK_CTRL);
reg_val &= ~(0x7 << 0);
reg_val |= (0x4 << 0); // 50 MHz
BL_WR_REG(SDIO_BASE, SDIO_CLK_CTRL, reg_val);
/* Enable SDIO clock */
reg_val = BL_RD_REG(SDIO_BASE, SDIO_CLK_CTRL);
reg_val |= (1 << 8);
BL_WR_REG(SDIO_BASE, SDIO_CLK_CTRL, reg_val);
}
In this example, the SDIO controller is configured as a master device, with a clock speed of 50 MHz. The SDIO controller is then enabled to start processing data transfers.
Espero te ayude y me ayudes...
Could you please describe the goal you are trying to achieve with this project?
In my case, my first goal has been trying to figure out how to upload the minimum code with my network configuration hard-coded in it (rtthread) so the camera streams to a specific (local) IP address just when powering it up. No extended features like button support, SD card support, etc.). I would call this the "basecode" for all other sorts of improvements.
anyone got a firmware dump of their chip I can have please
[197018.704406] wlp2s0: associate with c8:47:8c:57:55:d4 (try 1/3)
[197018.706839] wlp2s0: RX AssocResp from c8:47:8c:57:55:d4 (capab=0x421 status=0 aid=1)
[197018.706849] wlp2s0: AP bug: WMM param missing from AssocResp
[197018.708310] wlp2s0: associated
I'm sure that 2 of my cameras use uses sensor HYNIX hi704 (i've test 2 sensors on one camera - both works). Current source code don't have hi704 support. As I see the only thing required is i2c initialization. So i tried to monitor i2c pins connected to camera using https://github.com/jjsch-dev/pico_i2c_sniffer . I tried this couple times and result always the same:
https://gist.github.com/Apache02/089760cbc51f2c4add65b92265d07e27#file-hi704_i2c_dump-txt
i2c address multiplied by 2 in this log.
hi704 i2c address is 0x30
init_table: https://gist.github.com/Apache02/089760cbc51f2c4add65b92265d07e27#file-camera_intf-h
I tried to use it, but according to sniffer somthing broken with i2c1 driver.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.