-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OSLoader crash on first boot #59
Comments
Hello. This is my first attempt at installing ExistOS on my HP 39gII, and I think I ran into the same problem. I followed the steps under the Flashing with automated tools section in the english readme. I used ExistOS Updater on Windows 10 64 bits and both images from the latest build 77 release. Thanks. |
Flashed Build 77 |
It seems that the OSLoader had been installed successfully but the System crashed. |
Or you can try to use edb.exe instead. |
Thanks for your replies. Before my first attempt, the calculator was running the latest HP firmware without any known issue. I tried other images :
These ones don't crash, but seem to get stuck when the loading bar reaches 100%. Nothing happens. Also followed instructions for edb.exe but it didn't change anything. Note I did wipe the Flash content before any new attempt through on+F5, to be sure... |
You can connect your calculator using the settings below. And there will be some outputs like this: This might help... |
I use this software. Actually any serial debugging software is okay... |
Thanks. I got the log below.
|
Still "system panic" with the latest b83 release. What's the process to reinstall the HP firmware for now ? In order to check if it still works. |
That's because we only updated readmes and github-actions automatically generated these releases... To reinstall the HP firmware, enter the maintanence menu and erase the flash. Then use the official updater under Windows 7 / XP to reinstall the firmware. And don't be worry about the message in the image above. That doesn't really mean that there are too many bad blocks on your device, because you need to enter the system to format the flash first... So we are still working on it, but the problem is that we couldn't replicate it now... |
当我刷回原系统后,在测试闪存时发现坏块(?),不知道发生了神马。 |
可以重刷一遍试试。39gii用的是SLC,有大概10万次的擦写寿命,应该没那么容易出现坏块才对。。。 |
我测试了一下,在第一次从ExistOS刷回原系统的时候有可能会出现无法保存设置、flash测试失败等奇怪的问题,不过再刷一遍就好了。(两次都勾选了“格式化数据区”) |
I have a idea, but I'm not sure if it'll work well. Power on your calculator while pressing down Format the disk (don't choose the quick format option) and then press |
During some tests, I got the same problem as critor: System panic and unable to reflash the System part (I had to rerun HP Updater). |
An interesting idea, thanks.
For information, I have no issue reflashing the system. It seems to even work at the "system panic" screen. |
大致符合了机器的症状,but这周周末回家忘拿沙雕机了,气死 |
For information, the official "update.exe" tool doesn't work on Windows 10/11. I then made another (clean) attempt at installing ExistOS but again, "system panic". |
The official updater actually makes three copies of firmware on the calculator, so if one firmware, maybe one flashed to bad blocks, fails to boot, then it will switch to next one and try again. And for the ExistOS, we now only make a single copy of System and OSLoader on the calculator, so if the firmware is flashed to an area includes bad blocks, it may not boot up successfully. |
Thanks for your reply. Then any way to check the flash blocks ? or to install ExistOS at a different place (I saw such option in the windows GUI installer). While ExistOS doesn't work on my calculator, I won't be able to test it, document it, or news about it. And it's sad because it seems to be a great project, especially on a 2012 calculator for which the development ceased almost immediately (2013), letting us with a very buggy firmware. |
Also modify the location of the system block in the source code SystemConfig.h and re-flash the OSLoader. We will try to improve the firmware flushing process (there are still bugs in the execution of ECC detection for bad blocks). |
We already made an attempt to move System at a different page, that unfortunately did not work for critor. |
OSLoader only needs to set the value of "OSLoader Page" to change the position. Since the function of passing the system location by the updater is not implemented, the value of the system location needs to be modified manually in the OSL source code. I have tested that the following parameters work properly: Or maybe it's a Flash timing issue? try to set like this: .DataSetup_ns = 30,
.DataHold_ns = 25,
.AddressSetup_ns = 20,
.SampleDelay_cyc = 0, |
Does it mean that while flashing osloader, the boot block number is also written somewhere on the 39gii ? How does it work for the HP firmware osloader? You mentionned there are 3 copies of the firmware written on the flash, how does the calculator know which one should be used? |
The STMP3770 includes 64KB on-chip ROM which contains intitialization code written by SigmaTel and can load programs from NAND, sdcard (SSP,SPI), IIC, USB... Remove all batteries, holding the "ON/C" and plug in USB then use the SBLoader tool can communicate with the ROM Code for uploading the sb firmware to RAM to run. Thus, I don't think it can be bricked... When boot form the flash, the ROM codes will search three special blocks: NCB(NAND Config Block) ,LDLB(Logical Drive Layout Block), and DBBT(Discovered Bad Block Table). The LDLB described the layouts of firmware and data area: There are a region configuration in HP firmware: It seems that the ROM codes just read the LDLB, when firmware boot fail, ROM codes will try to boot firmware 2 and notice the SDK to fix firmware 1 by referring the region configuration. DBBT used in SigmaTel SDK and the ROM Code doesn't care it. Here is the HP firmware Flash dump: |
Thanks for the details. |
Step:
ninja sb_flash
to load the OSLoaderRegister dump(?):
System information:
system: Windows7 x64
ninja version: 1.11.0
cmake version: 3.20.4
Edit: Turns out that there's an older version of ExistOS in its FLASH. Now I cleared all data and executed
ninja edb_flash_loader
and it still crashes withR13:027ffff8 R14:00100010 R15:0013bc20
.The text was updated successfully, but these errors were encountered: