Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.
V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.
Byla vydána verze 9.5 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání. Jedná se poslední vydání řady NetBSD 9. Doporučen je přechod na NetBSD 11 nebo NetBSD 10.
Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.
Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Programming stuff. And stuff.
JTrace adaptér v Ozone umí zaznamenat do 10 milionů posledních vykonaných instrukcí, takže víte, kudy přesne kód jel. JTrace je bohužel jediný multiplatformní JTAG/SWD adaptér, který funguje i pod Linuxem a Mac OS (Keil Ulink a Lauterbach jen pod Windows a ty nástroje vůbec neumí pracovat s nějakými Makefile nebo ELF souborama).
Především s interrupty je to neocenitelný debugovací nástroj, protože na interruptech nelze dělat breakpointy bez toho, že se to komplet rozbije.
Proti další ukázce z ITM trace (z orbtop je méně presná, statistický sampling) to neumí měřit spánek procesoru (ITM trace to umí), ale to až tak moc nevadí:
Zde je např. celkem jasně vidět, kde se pálí čas procesoru, i když se tak trochu předpokládá, že každá instrukce trvá stejně dlouho. A neumí to počítat do celkového času sleep (WFI a podobné instrukce).
Pokud se budete snažit rozběhnout ETM na vývojových deskách STM Discovery, budete velmi sklamáni. Nemají správně vyveden ETM port (zlé časování, zlé kapacity, ... - ETM běží na 200+ MHz na 4 linkách + hodiny). Prý se to samým inženýrům z ST povedlo max na 8 MHz clock speed procesoru. Tudíž to rozhodně chce správnou desku.
void TargetReset (void) {
unsigned int AIRCR;
unsigned int SCB_AIRCR_VECTKEY;
unsigned int SCB_AIRCR_VECTRESET;
AIRCR = 0xE000ED0C;
SCB_AIRCR_VECTKEY = 0x5fa0000;
SCB_AIRCR_VECTRESET = 0x1;
*AIRCR = SCB_AIRCR_VECTRESET | SCB_AIRCR_VECTRESET;
//
// unsigned int SP;
// unsigned int PC;
// unsigned int VectorTableAddr;
//
// VectorTableAddr = Program.GetBaseAddr();
//
// if (VectorTableAddr != 0xFFFFFFFF) {
// SP = Target.ReadU32(VectorTableAddr);
// Target.SetReg("SP", SP);
// } else {
// Util.Log("Project file error: failed to get program base");
// }
//
// PC = Elf.GetEntryPointPC();
//
// if (PC != 0xFFFFFFFF) {
// Target.SetReg("PC", PC);
// } else if (VectorTableAddr != 0xFFFFFFFF) {
// PC = Target.ReadU32(VectorTableAddr + 4);
// Target.SetReg("PC", PC);
}
void AfterTargetReset (void) {
unsigned int SP;
unsigned int PC;
unsigned int VectorTableAddr;
VectorTableAddr = 0x8000000; //boardloader vector offset
if (VectorTableAddr != 0xFFFFFFFF) {
SP = Target.ReadU32(VectorTableAddr);
Target.SetReg("SP", SP);
} else {
Util.Log("Project file error: failed to get program base");
}
PC = Target.ReadU32(VectorTableAddr + 4);
Target.SetReg("PC", PC);
}
Špatná indentace i ten komentář tam musí zůstat, jinak se z toho rozbije parser z nějakého důvodu. Don't ask. No idea why.
Nespoléhejte se na to, co je napsáno v obecné ARM dokumentaci nebo dokumentaci ke konkrétnímu procesoru. Např. System Control Block by měl být writable, ale není writable zevnitř procesoru, jenom přes JTAG adaptér. (Důvod této nekonečné srandy je že hledám úplne jiný hack na úplně jinou blbost, kde je user přílíš líný vytáhnout kabel).
Tiskni
Sdílej: