Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 2. snapshot Ubuntu 25.10 (Questing Quokka).
Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
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“