页次: 1
If anyone tries the 60fps example, there is a caveat. Your screen resolution must be divisible by 32 as the m32dec function relies on this. I'm not sure the best way to solve this. I use 720 resolution so I found this problem. I solved by padding video to 736 with ffmpeg. There may be a better way to fix, but this made it work for me.
SPI clock needs to be set a bit differently. Bit 12 needs to be 1, then lower bits are n with 2*(n+1) being the AHB clock divisor.
SPI1->CC = 0x105F; in my config sets clock to 1MHz
PE pin config is split between CFG0 for PE7 and CFG1 for PE8,PE9,PE10
PE->CFG0 = 0x47777777; // PE7-CS, PE8-MOSI, PE9-CLK, PE10-MISO
PE->CFG1 = 0x77777444;
The rest is more or less correct. I have output on the SPI pins now. I can't say it's the correct format yet, but at least the scope shows CS, Clock and MOSI with data.
I'm trying to initialize SPI1 on PE7-PE10
#define spi1_select() SPI1->TC = 0x44
#define spi1_deselect() SPI1->TC = 0xC4
void spi1_init (void)
{
// Enable SPI1 clock
CCU->BUS_CLK_GATING0 |= (1 << 21); // SPI1 clock gating
CCU->BUS_SOFT_RST0 &= ~(1 << 21);
CCU->BUS_SOFT_RST0 |= (1 << 21);
// Initialize GPIO for SPI1
PE->CFG1= 0x4444; // PE7-CS, PE8-MOSI, PE9-CLK, PE10-MISO
// Set SPI1 clock rate to ~1 MHz (192 MHz / 256)
SPI1->CC = 256;
// Initialize SPI1 Global Control Register (GC)
for (SPI1->GC = 0x80000083; SPI1->GC & 0x80000000; ) {};
// De-select the SPI device
spi1_deselect();
// Initialize SPI1 FIFO Control Register (FC)
for (SPI1->FC = 0x80408001; SPI1->FC & 0x80008000; ) {};
}
void test_spi1(void) {
spi1_select();
SPI1->MBC = 4;
SPI1->MTC = 4;
SPI1->BCC = 4;
SPI1->TX.word = __builtin_bswap32((0x000100 & 0x00FFFFFF) | 0x03000000);
for(SPI1->TC |= (1U << 31); SPI1->TC & (1U << 31); ) {};
spi1_deselect();
}
在示波器上观察时,没有时钟或CS信号的变化。
可能是引脚配置不正确?
测试是在LicheePi Nano上进行的。
非常感谢您的帮助。
There is no clock or CS line effect when observed from oscilloscope.
Maybe the pins are not configured properly?
Testing is being done o n licheepi Nano.
Any help is very much appreciated.
I removed all the "Confidential" watermarks in the PDF. It's nice to read this way. All bookmarks and sections are preserved.
Ozelot, 谢谢你,软件很好用。Make file 改了点,文件架没自动做。
Great software and I was able to run all of them. Just made a quick change to the makefiles to create the directory structure.
Note the mksuxi line is commented out, just uncomment or run separately. I compile on Linux and mksunxi provided is windows.
copy bin to windows and run mksunxi boot.bin
我试了那个,给你看问题。我用Ubuntu 22.04
/usr/bin/ld: libsim.a(maverick.o):(.bss+0x60): multiple definition of `DSPregs'; libsim.a(wrapper.o):(.bss+0x60): first defined here
/usr/bin/ld: libsim.a(maverick.o):(.bss+0x0): multiple definition of `DSPsc'; libsim.a(wrapper.o):(.bss+0x0): first defined here
/usr/bin/ld: libsim.a(maverick.o):(.bss+0x20): multiple definition of `DSPacc'; libsim.a(wrapper.o):(.bss+0x20): first defined here
/usr/bin/ld: libsim.a(armemu32.o):(.bss+0x0): multiple definition of `isize'; libsim.a(armemu26.o):(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:267: run] Error 1
make[4]: Leaving directory '/home/brian/martin/buildroot-tiny200/output/build/host-gdb-8.2.1/sim/arm'
make[3]: *** [Makefile:129: all] Error 1
make[3]: Leaving directory '/home/brian/martin/buildroot-tiny200/output/build/host-gdb-8.2.1/sim'
make[2]: *** [Makefile:8239: all-sim] Error 2
make[2]: Leaving directory '/home/brian/martin/buildroot-tiny200/output/build/host-gdb-8.2.1'
make[1]: *** [Makefile:850: all] Error 2
make[1]: Leaving directory '/home/brian/martin/buildroot-tiny200/output/build/host-gdb-8.2.1'
make: *** [package/pkg-generic.mk:269: /home/brian/martin/buildroot-tiny200/output/build/host-gdb-8.2.1/.stamp_built] Error 2
我试了几个Build Root,都有解决不了的问题。一部分可以解决,后面的不会。
有一个buildroot可以编译吗?
https://github.com/aodzip/buildroot-tiny200?tab=readme-ov-file
不行
https://github.com/thirtythreeforty/businesscard-linux/tree/master/board/businesscard
也不行
第一个问题:
package m4 里面
#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
Undefined SIGSTKSZ
好的, 用“patch"
04-fix-sigstksz.zip
第二个问题
fakeroot 里面
_STAT_VAR Not found
好的 用“patch”
no_STAT_VER.zip
Licheepi nano repo:
--2024-08-06 11:31:34-- http://sources.buildroot.net/linux-4.19.98-cip19-rt7.tar.xz
Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.0.37, 172.67.72.56, 104.26.1.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.0.37|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-08-06 11:31:34 ERROR 404: Not Found.
business card linux repo:
many errors on linking about:
multiple definition of `fwriter_buffer'
multiple definition of `bwriter_buffer'
buildroot200 repo:
multiple definition of `DSPregs'
multiple definition of `DSPregs'
等等。
I'm trying to compile buildroot from licheepi nano github. I've also tried a few others, business card linux is another repo. Since the repos are old there are incompatibilities with new versions of files. I have patched a few but then run out of ability to fix further errors. Is there a repo that's been patched already and can compile easily?
我想用圆屏和F1C100s. 有人做过吗?问题是要用SPI开始这个屏幕。 屏幕ST7701s花片。 ESP32可以用这个屏幕可是太慢,想用MJPEG。
I'm trying to use these round displays with the F1C100s. The problem is that they need to be configured by SPI as the control ICs have no memory. Each boot/reset they need to be configured by SPI. One of these screens uses ST7701s. I want to play MJPEG, or other simple video on these screens. No need for audio. There is ESP32 example code but ESP32 is too slow to play smooth video.
不好意思,我的中文不那么专业。
页次: 1