Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.
Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.
Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 4. snapshot Ubuntu 25.10 (Questing Quokka).
Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Recently, I bought the Ez430 Chronos watches from Texas Instruments. It is a very interresting toy, having a MSP430 processor inside, can measure ambient temperature, pressure and battery voletage, has an 3-axis accellerometer and can communicate over <1GHz RF (in my case 868MHz). With a well written firmware its battery can last for months. However in order to develop your own firmware you need an ugly IDE provided by TI. Fortunately there is an alternative solution: One can use the msp-gcc to compile the firmware and mspdebug to upload it (using the original USB dongle from TI). On Debian 7 this is very easy, since all the packages are available from the official repository.
First, you have to install MSP-Gcc et al. All you need is to do (as root):
apt-get install binutils-msp430 gcc-msp430 gdb-msp430 msp430-libc msp430mcu mspdebug
Then I just took an »Hello-World« example as found here. Here is my copy (slightly modified - but the original version should compile as well):
//****************************************************************************** // eZ430 chronos hello world // Description: initializes lcd module and shows the string 'hi earth' on the // lcd display becuase 'hello world' is too long // Author: Felix Genicio, Modified by: Petr Tomasek //****************************************************************************** #include <msp430.h> int main(void) { unsigned char * lcdmem; // Clear entire display memory *(unsigned char *)LCDBMEMCTL_ |= LCDCLRBM + LCDCLRM; // LCD_FREQ = ACLK/16/8 = 256Hz // Frame frequency = 256Hz/4 = 64Hz, LCD mux 4, LCD on LCDBCTL0 = (LCDDIV0 + LCDDIV1 + LCDDIV2 + LCDDIV3) | (LCDPRE0 + LCDPRE1) | LCD4MUX | LCDON; // LCB_BLK_FREQ = ACLK/8/4096 = 1Hz LCDBBLKCTL = LCDBLKPRE0 | LCDBLKPRE1 | LCDBLKDIV0 | LCDBLKDIV1 | LCDBLKDIV2 | LCDBLKMOD0; // I/O to COM outputs P5SEL |= (BIT5 | BIT6 | BIT7); P5DIR |= (BIT5 | BIT6 | BIT7); // Activate LCD output LCDBPCTL0 = 0xFFFF; // Select LCD segments S0-S15 LCDBPCTL1 = 0x00FF; // Select LCD segments S16-S22 // LCD_B Base Address is 0A00H page 30 y in SALS554 document // show 'h' lcdmem = (unsigned char *)0x0A21; *lcdmem = (unsigned char)(*lcdmem | (BIT2+BIT1+BIT6+BIT0)); // show 'i' lcdmem = (unsigned char *)0x0A22; *lcdmem = (unsigned char)(*lcdmem | (BIT2)); // show 'E' lcdmem = (unsigned char *)0x0A2B; *lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT0+BIT3)); // show 'A' lcdmem = (unsigned char *)0x0A2A; *lcdmem = (unsigned char)(*lcdmem | (BIT0+BIT1+BIT2+BIT4+BIT5+BIT6)); // show 'r' lcdmem = (unsigned char *)0x0A29; *lcdmem = (unsigned char)(*lcdmem | (BIT6+BIT5)); // show 't' lcdmem = (unsigned char *)0x0A28; *lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT3)); // show 'h' lcdmem = (unsigned char *)0x0A27; *lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT2)); __no_operation(); // For debugger return 0; }
Just put it into a file named hello_world.c
. Then you need to put the following content into the 'Makefile
' (in the same directory, of course):
TARGET = hello_world SOURCES = $(TARGET).c #INCLUDES = -Iinclude PROG_DEVICE = rf2500 ################ # Inspired by: # * http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Example:Makefile # * https://github.com/bhutley/OpenChronos/blob/master/makefile # * http://felicitus.org/2012/01/04/building-openchronos-for-ti-ez430-chronos-on-debian/ # ####################################################################################### MCU = cc430f6137 C_ARCH = -D__MSP430_6137__ -DMRFI_CC430 -D__CC430F6137__ C_OPT = -mmcu=$(MCU) $(C_ARCH) CFLAGS = $(C_OPT) -g -Os -Wall -Wunused $(INCLUDES) ASFLAGS = $(C_OPT) -x assembler-with-cpp -Wa,-gstabs LDFLAGS = $(C_OPT) -Wl,-Map=$(TARGET).map # ---------------------- CC = msp430-gcc LD = msp430-ld OBJCOPY = msp430-objcopy SIZE = msp430-size MAKETXT = srec_cat LOAD = mspdebug ######################################################################################## all: $(TARGET).txt $(TARGET).size OBJECTS = $(SOURCES:.c=.o) $(TARGET).elf: $(OBJECTS) $(CC) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $@ %.o: %.c $(CC) -c $(CFLAGS) -o $@ $< %.hex: %.elf $(OBJCOPY) -O ihex $< $@ %.txt: %.hex $(MAKETXT) -O $@ -TITXT $< -I # unix2dos $(TARGET).txt size: $(TARGET).size $(TARGET).size: $(TARGET).elf @echo "# Size of Firmware $(TARGET).elf #" > $(TARGET).size $(SIZE) $(TARGET).elf >> $(TARGET).size @echo >> $(TARGET).size @cat $(TARGET).size load: $(TARGET).txt $(LOAD) $(PROG_DEVICE) "prog $(TARGET).txt" clean: rm -f *.o *.map *.hex $(TARGET).txt $(TARGET).size
Now just type make
to compile the example and/or make load
to upload it to the watch (connected to the USB dongle).
Update: You just need #include <msp430.h>
instead of #include <cc430x613x.h>
.
Tiskni
Sdílej:
srry for bad englando,
Klidně mi můžeš poslat patch s korekutrama . Osobně jsem víc času neměl, ale třeba to i takhle bude někomu užitečný.
no copy pasterino
Pokud ti to nedošlo, tak jde primárně o ten Makefile. Žádný funkční Makefile jsem nenašel a tak jsem se snažil dát dohromady na základě dostupných informací a i tak mi to zabralo 2h, než jsem odladil něco použitelného...
A konečně, pro mně je cokoliv jinḗho, než kombinace (v)vim + příkazová řádka + make prostě „ugly“