-
Thread
Linux und (immer noch) C
enthalten. atoi() ist nicht unsicher. Aber du kannst keine Fehleingaben erkennen. Dafür gibt es (seit C89 oder früher) strtol().
data 16 4202496 .rdata 224 4206592 .eh_frame 928 4210688 .bss 96 4214784 .idata 888 4218880 .CRT 24 4222976 .tls 32 4227072 C++ size -A out.exe out.exe : section size addr
-
Thread
I2C-Level-Shifting mittels N-FET
Nimm doch den BSS138. Der ist flotter als der FDG6301.
TO, siehe oben. Es funktioniert bei 400kHz nicht mehr. Und wenn sein FET nicht geht, wieso dann der BSS138? > Der ist flotter als der FDG6301. Inwiefern? Der BSS hat mehr ns, mehr pF, mehr nC und leitet bei 1,5V fast nicht (bzgl. I2C Strom).
-
Thread
Ernstzunehmende Programme in BASCOM
Programmierumgebung (allerdings braucht man MS Windows). Hier mal ein Drag&Drop Batchfile, welches einen AT89S52 programmiert: [code] set prog="C:\xasm\AVR\STK500\Stk500.exe" %prog% -cUSB -dAT89S52 -e -if%1 -pf -vf pause [/code] Da lässt du das Hexfile rauffallen, und der MC wird programmiert.
.-__vector_14 .comm adcval,2,1 .ident "GCC: (GNU) 4.7.2" .global __do_clear_bss [/pre] (Mir geht es hier ausdrücklich /nicht/ um die Sprache C, sondern um das Verhalten des Compilers. C als Eingabe dient nur als einfach zu handhabendes Beispiel.) Der Compiler liest
-
Thread
Deklaration von external memory
section-start,.data=0x802200,--defsym=__heap_end=0x80ffff //memory is used for variables (.data/.bss) and heap (malloc()). */ static const char T000[] PROGMEM = "Hello World 1 "; static const char T001[] PROGMEM = "Hello World 2 "; unsigned char eeso00 EEMEM; unsigned char eeso01 EEMEM;
mov r24, r18 200: 88 0f add r24, r24 202: 88 0f add r24, r24 204: 89 2b or r24, r25 206: 22 95 swap r18 208: 26 95 lsr r18 20a: 26 95 lsr r18 20c: 23 70 andi r18, 0x03 ; 3 20e: 80 93 04 02 sts 0x0204, r24
-
Thread
C code automatisch in hexfile compilieren
must be seperated by a space. EXTRAINCDIRS = # Compiler flag to set the C Standard level. # c89 - "ANSI" C # gnu89 - c89 plus GCC extensions # c99 - ISO C99 standard (not yet fully implemented) # gnu99 - c99 plus GCC extensions CSTANDARD = -std=gnu99 # Place -D or -U options here CDEFS
must be seperated by a space. EXTRAINCDIRS = # Compiler flag to set the C Standard level. # c89 - "ANSI" C # gnu89 - c89 plus GCC extensions # c99 - ISO C99 standard (not yet fully implemented) # gnu99 - c99 plus GCC extensions CSTANDARD = -std=gnu99 # Place -D or -U options here CDEFS
-
Thread
Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?
noch Bastelkram? Was hat das mit "notwendig" zu tun? 7.97€ bei Mouser 5.43€ bei Aliexpress 2.89€ bei zpeter Guter Preis für einen ATMEGA1284P-PU von Peter. Ein STM32 kostet trotzdem noch die Hälfte. ;-)
solutions.3m.com.sg/wps/portal/3M/en_SG/InterconnectSingapore/Home/Products/Catalog/?PC_Z7_U00M8B1A083U80A89JEQ3F0I63000000_nid=7NC2KDZ7KMitWK7G49LP38glV3Z9WQHCB8bl http://solutions.3m.com.sg/wps/portal/3M/en_SG/InterconnectSingapore/Home/Products/Catalog/?PC_Z7_U00M8B1A083U80A89JEQ3F0I63000000_nid=PV9ZR58P38itWK7G49LP38glQVZMZPDNK2bl
-
Artikel
Receiver-Mainboard Plattform Philips PNX8950
Datasheet - linuxtv.org Tuner Treiber Philips TDA8024T (IC Card Interface) Datasheet U19: Philips P89LPC921 8-Bit Mikrocontroller mit 8051-Kern U24: Philips PCF8563T Echtzeituhr (RTC) U82 (SOIC) oder U38 (DIP): Atmel 93C46 1kbit serial EEPROM Nicht bestückte ICs: U42 DVI (wahrscheinlich Philips TDA9983
BOURNS CDSC706-0504C L121-L124: TDK ACM2012-900-2P U41: ON SEMICONDUCTOR MC74VHC1GT50DFT1 Q2, Q3: NXP BSS123 oder BSH112 Q25: LM1117IMPX-ADJ L136, L137, L140: ? = Anwendungen und Ideen = Realisierte Projekte/Anwendungen für MoreTV. Hier finden sich Installationsanleitungen zu verschiedenen Softwarepaketen
-
Thread
16x2 LCD Langsamer Displayaufbau
bytes (34.4% Full) (.text + .data + .bootloader) Data: 46 bytes (4.5% Full) (.data + .bss + .noinit) [/pre]
= tmp * 2; 54: 8a 81 ldd r24, Y+2 ; 0x02 56: 88 0f add r24, r24 58: 89 83 std Y+1, r24 ; 0x01 [/avrasm] Für eine Division durch 2 wird allerdings ein Shift erzeugt: [avrasm] test = tmp / 2; 54: 89 81 ldd r24, Y+1 ; 0x01 56: 86 95
-
Thread
Initialisiertes Char Feld mit Länge 1 und Inhalt '\0'?
0x00000000001fe000 0xa2c *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) .bss 0x00000000001fe000 0x0 asmstartport.o .bss 0x00000000001fe000 0x0 asmhandler.o .bss 0x00000000001fe000 0x1 coldport.o
] = "". Falls dein GCC dann immer noch nach .bss legt: -fno-zero-initialized-in-bss.
-
Thread
neuer Transistortester GM328 aus China
bytes (102.6% Full) (.text + .data + .bootloader) Data: 442 bytes (21.6% Full) (.data + .bss + .noinit) EEPROM: 15 bytes (1.5% Full) (.eeprom) ?!?!?! HELP ME PLEASE!
ich auch genommen und in dieses Gehäuse eingebaut : https://www.conrad.de/de/hand-gehaeuse-147-x-89-x-24-abs-blau-hammond-electronics-1553dtbubkbat-1-st-531669.html
-
Thread
bare metal m68k-elf.gcc.
exeptions. Copyright Motorola Inc. 1989 All Rights Reserved Fbug68 Monitor/Debugger Version 1.1 - 9/28/89 MOTOROLA> rd im ersten case in printreg() PC =$Address Error "im ersten case und in printreg()) sind debugging printfs von mir, der Adress Error ist das Problem, normalerweise sollte der
Platte. Deshalb bin ich auf einigeUnterscheide bei der Übersetzung gestoßen: Hier Datenbereiche im .bss segment: alt: COMMON 0x001fe000 0xa64 coldport.o 0x001fe000 sizechar 0x001fe004 condition 0x001fe010
-
Thread
Retro Fieber: Z80 oder 68000 ?
Task-Kommunikationssystem unter RTOS % c't 88/10 254 Pascal/Assembler-Entwicklungssystem für die KAT-Ce % c't 89/ 9 38 RTOS-UH/PEARL jetzt in Version 2.2 % c't 89/ 9 200 Einplatinen-Rechner KAT-Ce in Low-Power-Ausführun % c't 89/11 290 C für D- und EPACS
_CODE .area _GSINIT .area _GSFINAL .area _GSINIT .area _DATA .area _BSEG .area _BSS .area _HEAP [/code]
-
Thread
J-FET N-Channel mit gößer 70V Drain / Source Spannung für Konstantstromsenke
Der FET ist vielleicht etwas übertrieben > und damit das erwähnte 1Euro-Budget überstiegen? Den BSS139 hab ich rausgesucht, weil es den bei Fa. Reich&Schön gibt: BSS 139 SMD 0,23€ > Dann mutiert sie zu einem Linearregler! Ja, das ist genial, wie das Teil sanft von dem einen Modus in den
@Abdul Hier die Schaltung. Du brauchst ein model für den BSS und musst bei diversen Bauteilen noch Werte eintragen.
-
Thread
Z180-Stamp Modul
nicht nach möglichen Hardwarevarianten richten. > Bei der Auswahl des n-Kanal Type scheint mir der BSS138 oder ein ander > N-Channel Logic Level Gate FET besser geeignet als der IRLML2402. Beim > 3.3V Betrieb ist die Vgs(th) zu hoch um sicher zu schalten. > > Marcel schrieb im Beitrag #4701525
als der BSS138 funktionieren, da sein Vgs(th) nochmal niedriger ist. Allerdings hat der bei Ugs = 0,00xV nicht ganz schließen wollen (2 Exemplare). Da es mit dem BSS138 funktioniert, habe ich das nicht weiter untersucht
-
Thread
Möglichst kurze Routine für Hex-to-ASCII-Conversion
lang! [c] /* $ avr-gcc -mmcu=atmega8 -DHEX_FUN -c -Os h.c && avr-size h.o text data bss dec hex filename 52 0 0 52 34 h.o $ avr-gcc -mmcu=atmega8 -DHEX_TABLE -c -Os h.c && avr-size h.o text data bss dec hex filename
4c h.o $ avr-gcc -mmcu=atmega8 -DHEX_PROGMEM -c -Os h.c && avr-size h.o text data bss dec hex filename 76 0 0 76 4c h.o */ #include <stdint.h> #include <avr/pgmspace.h> extern void put(char c); #if defined(HEX_TABLE) char hextable
-
Thread
Kleinsignal Mosfet n-Kanal mit G/D/S Reihenfolge
Früher gabs mal den BSS89.
-
Thread
1-Bit Variable
Das spuckt AVR Studio 5 aus: Device: atmega88p Program: 7330 bytes (89.5% Full) (.text + .data + .bootloader) Data: 120 bytes (11.7% Full) (.data + .bss + .noinit) Der ATmega hat 8 kByte Flash, 1 kByte SRAM und 512 Byte EEPROM Wie es scheint habe ich noch
-
Thread
Hilfe - AVR-GCC "optimiert" Schleife zur Endlosschleife
95 wdr #include <avr/wdt.h> int main (void) { int i = 0; while (--i) 36: 89 81 ldd r24, Y+1 ; 0x01 38: 9a 81 ldd r25, Y+2 ; 0x02 3a: 01 97 sbiw r24, 0x01 ; 1 3c: 9a 83 std Y+2, r25 ; 0x02 3e: 89 83 std Y+1, r24 ; 0x01 40: 89 81 ldd r24, Y+1 ; 0x01 42: 9a 81 ldd r25, Y+2 ; 0x02 44: 00 97 sbiw r24, 0x00 ; 0 46: b1 f7 brne .-20 ; 0x34 <__CCP__> 48: ff cf rjmp
-
Thread
[arm-none-eabi] Wie Stack-Grösse definieren?
Stack definiert sein, sowas wie __stack_end oder ähnlich. Üblicherweise wird es irgendwo hinter dem .bss und .data Segment definiert. Der Abstand zwischen der Adresse dieses Symbols und dem Ende von .bss definiert deine Stack Größe. Das Symbol wird dann im Startup Code benutzt im den Stackpointer zu initialisieren
Klassische GCC Linker files definieren z.B. den Heap Anfang auf die erste Adresse nach dem Ende des .bss und den Stack auf die letzte RAM Adresse. Stack und Heap treffen sich dann halt irgendwo in der Mitte... ;-).
-
Thread
Hackbarer(?) 21 EUR Quadcopter
Wo schrieb im Beitrag #3397494: > ist also ein 2SC1623 Warum kann das z.B. kein BSS69R sein? Der wäre PNP. Geht die LED bei Euch aus oder an? Bei mir geht sie aus, wenn der Akku voll ist. PS: Ich bae zum Glück noch einen Walkera Lama2. Da war ein ordentliches Ladegerät dabei
>> ist also ein 2SC1623 > Warum kann das z.B. kein BSS69R sein? Der wäre PNP. Weil ich keine PNP Transistoren mag, die waren immer so schwer zu beschaffen. Aber Spaß beiseite. Ich war tatsächlich bis vor wenigen Minuten der Meinung daß sich aus der
-
Thread
einfacher 20m-CW-Sender mit AD9850 und MOSFET
Bei Ebay gibt es recht oft ausgebaute alte große Trimbles, die äußerlich fast baugleich zu den MV-89 (oder MV-98 ?) sind. Ich hatte mir mal 2 Stück davon gegönnt und bin zufrieden. Die Dinger sind per Poti abgleichbar, der Abgleichbereich ist so etwa +/- 7 Hz bei 10 MHz Ausgang. Die Dinger brauchen
selbstleitend. Er sperrt je nach Typ (ABC) erst bei <-5 Volt. IMO wäre ein kleiner MOS-Fet wie der BSS123, BSS138 oder 2N7000 bzw. 2N7002 besser geeignet. Durch Verwendung eines PNP-Transistors oder eines P-Kanal MOS-Fets kann die Funktion invertiert werden. Dann müssen die Dioden umgedreht und der
-
Thread
Wo ist der Interrupt-Table hin?
atmega8 -c main.c -o main.o avr-gcc -o main.bin main.o avr-size main.bin text data bss dec hex filename 42 0 0 42 2a main.bin avr-objcopy -j .text -j .data -O ihex main.bin main.hex [/c] Disassembly (avr-objdump -D -S -s main.bin): [c]
100000001F920F920FB60F9211248F9382B78F5FBA :1000100082BF8F910F900FBE0F901F90189581E0B7 :0A00200083BF89BF82BF7894FFCF31 :00000001FF [/c]
-
Thread
TIPP: Atxmega DFU-Bootloader auf eigenen "Boot-Pin" verbiegen (direkt im Hex-File)
dein Compiler nur max. 4k Code erzeugen kann, was vestehst du dann an der Meldung >Fatal Error[e89]: Too much object code produced (more than 0x1000 bytes) nicht? 0x1000 = 4096 Byte. MfG Spess
avr-size ../binaries/atxmega32a4u_104.hex ../binaries/atxmega128a4u_104.hex text data bss dec hex filename 0 3944 0 3944 f68 ../binaries/atxmega32a4u_104.hex 0 5588 0 5588 15d4 ../binaries/atxmega128a4u_104.hex [/code]
-
Thread
Diskussion zum Artikel "Batteriewächter" 2. Mikrocontroller.net Artikelwettbewerb
Anja schrieb im Beitrag #3101110: > Z.B. depletion mode N-Kanal-FETs wie BSS195N. Ups muß natürlich BSS159N heissen. Gruß Anja
sollte funktionieren. T2 (BSS138) ist kritischer. Der RDS,on sollte möglichst niedrig sein und die Gate Schwellenspannung sehr niedrig. Der BSS138 hat maximal 1.5V. Für meine Steckbrettaufbauten verwende ich Restbestände von BSS89
-
Thread
_delay_ms(500) funktioniert nur sporadisch
: 268 bytes (209.4% Full) (.data + .bss + .noinit) Build succeeded with 1 Warnings... Mike schrieb im Beitrag #3041329: > Aber das tut sie jetzt, wieso glaubt mir keiner? ;-)) Entweder verarscht du uns hier oder du weisst überhaupt
bytes (93.0% Full) (.text + .data + .bootloader) Data: 12 bytes (9.4% Full) (.data + .bss + .noinit) [/c]
-
Thread
Orientierungshilfe ATXMega oder ARM (ST, NXP)?
wesentlich/ mehr als at(x)mega. Gleiche Applikation, gleiche GCC-Version: [c] text data bss dec hex filename 28490 48 1148 29686 73f6 comparison-lpc1114-4.6.2.elf 28552 40 1312 29904 74d0 comparison-lpc1343-4.6.2.elf 33748 64 1436 35248 89b0 comparison-stm32f407-4.6.2.elf 45744 255 1074 47073 b7e1 comparison-atmega644-4.6.2.elf 47602 312 1218 49132 bfec comparison-atxmega256a3-4.6.2.elf [/c]
-
Thread
Libgcc.a in .frodata section legen
frmwri.o) 0x00007220 _formatted_write .text 0x000081f7 0x89 libgcc.a(_ne_df.o) 0x000081f7 __nedf2 .text 0x00008280 0x89 libgcc.a(_ge_df.o) 0x00008280 __gedf2 .text 0x00008309 0x89 libgcc.a(_le_df.o) 0x00008309 __ledf2 *(.text.*) [/code]
-
Thread
Arduino und Ubuntu
must be seperated by a space. EXTRAINCDIRS = # Compiler flag to set the C Standard level. # c89 - "ANSI" C # gnu89 - c89 plus GCC extensions # c99 - ISO C99 standard (not yet fully implemented) # gnu99 - c99 plus GCC extensions CSTANDARD = -std=gnu99 # Place -D or -U options here CDEFS
# 64 KB of external RAM, starting after internal RAM (ATmega128!), # used for variables (.data/.bss) and heap (malloc()). #EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff # 64 KB of external RAM, starting after internal RAM (ATmega128!), # only used for heap (malloc()). #EXTMEMOPTS