Comments (3)
Circle relies on the initial state set by the firmware in some ways. If u-boot changes this state that's a problem. Because it is easy to reset VBAR on the RPi 1 I have done this in the recent commit so that u-boot can be used as you told (not tested by myself). I'm not sure if this will work on the RPi 2 and 3 in any case but at least it does not disturb normal operation (when loaded by the normal firmware) which I have tested on RPi 1-3.
The alignment configuration is set in lib/memory.cpp on the RPi 1 as required by Circle so it should not be a problem if u-boot modifies it.
Thanks for reporting this!
from circle.
I've tested the patch on my PI-2 and works flawlessly. When the image is 'mkimage'd with '-O linux -T kernel' or '-O linux -T standalone' and initiated by "bootm" command, the expected environment is found by the image (with the two described exceptions). But when the image is loaded from real binary (not mkimage'd) and started by 'go' command, the initial state is very different: L1 cache enabled, MMU enabled, etc.
ARM documentation for ARMv8 architecture states that VBAR is a register that needs to be correctly configured by an OS at startup. Is strange to me that u-boot restore all the initial configuration except VBAR register. A bug?
from circle.
According to the u-boot manual the bootm command should be the right one to start a Circle image. The go command is used to start so-called standalone applications which use service functions provided by u-boot. Circle doesn't do this.
I think there is some room for discussion if u-boot should reset VBAR on its own. I guess the operating systems which are normally loaded using u-boot are setting VBAR on their own and so there is no problem with it. Because Circle is doing the same now I hope there is no problem any more with Circle. According to your test with the RPi 2 I suppose it is working with u-boot now. Thanks for testing this!
from circle.
Related Issues (20)
- USB CDC/ACM gadget HOT 19
- GetClockTicks without wrap HOT 3
- GPU support on Raspi 4 HOT 4
- Circle linker failure with softfp HOT 2
- Make USB gadget vendor and device strings configurable HOT 2
- Support for touchscreens with additional reports in HID descriptor HOT 7
- Question about log when testing with Qemu HOT 2
- Help with setting PREFIX HOT 4
- Question: Waveshare 5'' DSI display support? HOT 2
- Waveshare 15.6inch Capacitive Touch Screen HOT 2
- Can I run OpenCV? HOT 2
- Sample "07-usbstorage" fails with Pi5 HOT 8
- Unsuportted USB touch screen driver - Big Tree Tech HDMI7 HOT 10
- How to do GPIOPin button Interrupt correctly HOT 23
- FIQ support on RPI Zero 2 HOT 3
- How to remove all text not from own CSerialDevice HOT 11
- Ability to set HDMI output refresh rate HOT 3
- About memory management on CM4 HOT 2
- Building circle-stdlib w/Circle: This header is not available in freestanding mode. HOT 6
- I2S simultaneous input+output HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from circle.