-
Thread
Wann sperrt ein selbstleit. N-Kanal MOSFET?
/www.mouser.de/Search/m_ProductDetail.aspx?IXYS%2fIXTT16N10D2%2f&qs=%2fha2pyFaduj5N6t4pCyXPayOPT6ON89CdpamK40IDeE%3d Wie gesagt: natürlich gibt es solche Bauteile, aber ich würde mir das zweimal überlegen, vor ich sowas einsetze. Da könnte ich mir genauso gut eine Lösung mit einem Logiclevel Mosfet
Einschalten oder Kurzschluss) für DC/DC-Wandler-Module gebaut. Ich verwende für Messkreise den BSS169 als strombegrenzendes Element im Überspannungsschutz zwischen Sensor und Messverstärker. Die Ursprungsidee dazu stammt von http://www.Elektronik-Kompendium.de Gute Infos und Beschreibung zur
-
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
my_delay Funktion(Artikel LED-Fading) : Wofür?
0x3d __tmp_reg__ = 0 __zero_reg__ = 1 .global __do_copy_data .global __do_clear_bss .text .global delay_something .type delay_something, @function delay_something: /* prologue: frame size=0 */ push r10 push r11 push r12 push
pop r11 pop r10 ret /* epilogue end (size=9) */ /* function delay_something size 89 (72) */ .size delay_something, .-delay_something .global delay_ms .type delay_ms, @function delay_ms: /* prologue: frame size=0 */ /* prologue end (size=0) */ mov r18
-
Thread
Fehler in AVR-GCC 3.4.6
__SP_L__ = 0x3d __tmp_reg__ = 0 __zero_reg__ = 1 .global __do_copy_data .global __do_clear_bss ; GNU C version 3.4.6 (avr) ; compiled by GNU C version 3.4.2 (mingw-special). ; GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=32702 ; options passed: -iprefix -mmcu
foptimize-register-move -fargument-alias ; -fstrict-aliasing -fmerge-constants -fzero-initialized-in-bss -fident ; -fpeephole2 -fguess-branch-probability -fmath-errno -ftrapping-math ; -minit-stack=__stack -mmcu=at90can128 .text .global CRCcheck .type CRCcheck, @function CRCcheck: /*
-
Thread
C Anfängerfrage (static innerhalb einer Funktion)
Werte zur Laufzeit ändern konnten. Der GCC hat von der Tabelle eine Kopie ins Flash gelinkt und im BSS Segment entsprechend Speicher alloziert. Beim ersten Aufruf hat er dann per memcpy aus dem Flash in das BSS kopiert. Mit entsprechendem Mutex versteht sich. Ich habe lediglich die Deklaration der
Und dabei ist es egal, ob mit 0 > oder einem anderen Wert. 0-Initialisierte Variablen landen im .bss Segment und werden mit einer dedizierten Schleife im Startup-Code initialisiert. So vermeidet man große 0-Blöcke im Flash-Image. Das ganze ist natürlich aus C-Sicht unsichtbar und wird durch die Laufzeitumgebung
-
Thread
Mini-Farbdisplay (+mehr) für 1 Euro
Spannungsregler AD7333 in SOT-89 - aus v-reg XC63FP (SOT-89R) aus Eagle gebaut im zip. Ausserdem anbei EAGLE Files für Schaltplan und angefangenes Board (auch png) für ATtiny2313. Wär toll, wenn mir da jemand helfen könnte. Ich bin
warum es direkt am µC leiser war, da du wohl nicht mehr auf 3,3 V am Lautsprecher gekommen bist. BSS123 als N-Fet und BSS83P als P-Fet. Noch nen 5. Fet (*hust*) zum Abschalten des ganzen... Gibts da vielleicht bessere Schaltungsideen von jemandem?
-
Thread
Espressif: ESP_IDF in Version 5.1 bringt Unterstützung für H2 und C6
• Wi-Fi: Modified maximum SoftAP connection number and ESPNOW encrypted connection number. (d89a512) • Wi-Fi: Changed ESP-NOW receive callback function type (esp_now_recv_cb_t). This change is made to fix potential security issues mentioned in #8574. (8223a59) • ADC: No longer support
light sleep mode on ESP32-C3/ESP32-S3 (33f1747) • Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C3 and ESP32-S3 (d530630) • Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32-C2 (8ea3865) • NimBLE: Added stack support
-
Thread
Linux Kernel 5.1.1. auf dem BPi-R2
Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 2.89 GBytes 2.48 Gbits/sec 0 sender [ 4] 0.00-10.00 sec 2.89 GBytes 2.48 Gbits/sec receiver iperf Done.
0 4 [ 8] .rel.dyn REL 81e3d10c 04d10c 009518 08 A 12 0 4 [ 9] .bss_start PROGBITS 81e3d10c 056708 000000 00 W 0 0 1 [10] .bss NOBITS 81e3d10c 000000 0196a4 00 WA 0 0 64 [11] .bss_end PROGBITS 81e567b0
-
Thread
mbed - oder es muss nicht immer Arduino sein
mbed-os-example-blinky +------------------+-------+-------+------+ | Module | .text | .data | .bss | +------------------+-------+-------+------+ | [fill] | 612 | 4 | 17 | | [lib]\c.a | 17139 | 2472 | 89 | | [lib]\gcc.a | 3892 | 0 | 0 | | [lib]\misc
39372 | 2928 | 6564 | +------------------+-------+-------+------+ Total Static RAM memory (data + bss): 9492 bytes Total Flash memory (text + data): 42300 bytes Image: .\BUILD\ARCH_PRO\GCC_ARM\mbed-os-example-blinky.bin C:\Users\Checker\mbed-os-example-blinky> *.bin Datei auf Arch Pro Board
-
Thread
ASM und C (makefile/Einbindung)?
to use. # gnu99 = C99 + GNU extensions. See GCC manual for more information. #CFLAGS += -std=c89 #CFLAGS += -std=gnu89 #CFLAGS += -std=c99 CFLAGS += -std=gnu99 # Optional assembler flags. # -Wa,...: tell GCC to pass this to the assembler. # -ahlms: create listing # -gstabs:
$(OBJCOPY) --debugging \ --change-section-address .data-0x800000 \ --change-section-address .bss-0x800000 \ --change-section-address .noinit-0x800000 \ --change-section-address .eeprom-0x810000 coff: $(TARGET).elf @echo @echo $(MSG_COFF) $(TARGET).cof $(COFFCONVERT) -O coff-avr
-
Artikel
Beispiel Makefile
that has spaces, enclose it in quotes. 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 for C sources 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 = -Wl,-
-
Thread
Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen
wäre es so richtig, 29;für rechteck 50; 25; 139; 89; 0; füllfarbe 255; rahmenfarbe oder wäre es möglich ein kleines beispiel wies richtig gemacht wird zb ein rechteck mfg kay
entworfen, daher sind beide nicht 100%ig kompatibel. > Muß es ein BC327 sein? Ich hätte nen BC557 oder BSS84P hier. Ich sag mal ja. Es kann mit einem BC557 funktionieren, aber der dürfte am Rande der Specs betrieben werden. Der BSS84 ist viel zu hochohmig. > In welchem Bereich kann die Spule liegen
-
Thread
Eclipse und WinAVR
Unknown Program: 32150 bytes (.text + .data + .bootloader) Data: 419 bytes (.data + .bss + .noinit) avr-size: '-mmcu=atmega64': No such file Gibt's da auch schon einen Hinweis zu? Das ist z.Z. noch nicht essentiell wichtig, wäre aber schön, wenn ich das auch Eclipse integriegen
atmega16 Nixieclk.elf AVR Memory Usage ---------------- Device: atmega16 Program: 14726 bytes (89.9% Full) (.text + .data + .bootloader) Data: 751 bytes (73.3% Full) (.data + .bss + .noinit) EEPROM: 1 bytes (0.2% Full) (.eeprom) > --------------------------------------
-
Thread
Elektronische Last mit MOSFET
Ein mögliches Modell wäre der Vishay SUG80050E, da hat man ein TO-247 Gehäuse und 0.3 K/W (statt 0.89 K/W).
Die OP-Platinen haben Kontakt und ich hab nichts verdreht oder so, die 9V LDOs funktionieren, der BSS138-Source-Folger Shutdown funktioniert wunderbar, die Aufsteckplatine mit dem STM32 antwortet über SWD, usw ... Alles auf Go, es kann los gehen 🥳
-
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
GCC mappt Static-Variable auf ein I/O-Register
st Z, r24 uart_buffer.Byte[address] += c; 390a: 80 81 ld r24, Z 390c: 89 0f add r24, r25 390e: 80 83 st Z, r24 uart_address++; 3910: 2f 5f subi r18, 0xFF ; 255 3912: 20 93 60 00 sts 0x0060, r18 } 3916: ff 91
Architektur-Default für avr5. Dieser ist 0x800060 für den RAM-Anfang, und danach richten sich dann auch .bss etc.
-
Thread
Netzwerkkarte mit RTL8019
ich makefile hexsize (siehe wiki:winavr) ausführe zeigt er follgendes am: text data bss dec hex filename 0 10706 0 10706 29d2 main.hex vielleicht hilft das weiter, aber mir scheint der Wert falsch zu sein: vor der Hex Adresse $29d2 sind jede menge
, hab nur ne kurze Frage, schreibt jemmand den Webserver auch für einen 8051 von Philips (zb.: P89C51 etc)? Bitte melden hätte interesse an den Sourcecode MfG Titus
-
Thread
Längstwellenempfänger bauen? (z.B. SAQ 17,2kHz)
Equipment der "Titanic". https://de.wikipedia.org/wiki/Magnetischer_Detektor#/media/Datei:D%C3%89TECTEUR_MAGN%C3%89TIQUE_(radio).jpg Ein mechanischer Sender ist bei mir schon in Arbeit, ein Empfänger kommt später: http://edi.bplaced.net/?Projekte___Projekt_historischer_Funkensender%2C_um_1905
nochmal die Links von oben: https://de.wikipedia.org/wiki/Magnetischer_Detektor#/media/Datei:D%C3%89TECTEUR_MAGN%C3%89TIQUE_(radio).jpg https://de.wikipedia.org/wiki/Magnetischer_Detektor#/media/Datei:D%C3%89TECTEUR_MAGN%C3%89TIQUE_(radio).jpg http://www.wireless.org.uk/mechrx.htm?LMCL=q9jhGO
-
Thread
ESP32: SPIRAM wird nicht gefunden (?)
02 00011000 00006000 I (82) boot: 1 phy_init RF data 01 01 00017000 00001000 I (89) boot: 2 factory factory app 00 00 00020000 00100000 I (97) boot: End of partition table I (101) esp_image: segment 0: paddr=00020020 vaddr=3f400020 size=0d2a4h ( 53924) map I (124)
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set # end of SPI RAM config # end of ESP PSRAM [/code]
-
Thread
folgender code nicht compilierbar
MEGA 32!! (code war ursprünglich für nen <AT89s53.h>) AVR Memory Usage ---------------- Device: atmega32 Program: 6220 bytes (19.0% Full) (.text + .data + .bootloader) Data: 365 bytes (17.8% Full) (.data + .bss + .noinit)
-
Thread
IRMP - Infrared Multi Protocol Decoder
das Gegenteil. Ich habe gerade mal eine kleine Reihe gemacht: F_INTERRUPTS | text | data | bss | dec | vgl. zu 16000 --------------+---------+-------+-------+---------+---------------- 6000 | 11108 | 180 | 113 | 11401 | +118 7000 | 11124 | 180 | 113 |
Sieht besser aus: F_INTR | text | data | bss | dec | vgl. zu 16000 ---------+---------+-------+-------+---------+----------------- 5000 | 11104 | 180 | 113 | 11397 | -268 6000 | 11108 | 180 | 113 | 11401 | -264
-
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
ATmega1284P Beschreiben in falschen Speicherbereich?
Grenze des Speicherbereichs: Beim Compilieren: Device: atmega1284p Program: 117566 bytes (89.7% Full) (.text + .data + .bootloader) Data: 11372 bytes (69.4% Full) (.data + .bss + .noinit) Dadurch funktionieren auch nicht mehr alle Routinen. Wenn ich nur die erste Hälfte der großen
-
Thread
1-Wire Slave auf AVR
bytes (93.6% Full) (.text + .data + .bootloader) Data: 15 bytes (23.4% Full) (.data + .bss + .noinit) Build succeeded with 6 Warnings...
License v2.0 - http://www.digitemp.com Turning off all DS2409 Couplers . Searching the 1-Wire LAN 1D89E1C34CBE42B7 : DS2423 4Kbit RAM + Counter ROM #0 : 1D89E1C34CBE42B7 Wrote .digitemprc win2000@AMDX2:~/digitemp-3.6.0$ ./digitemp_DS9097U -a -s /dev/ttyUSB0 DigiTemp v3.5.0 Copyright 1996-2007 by
-
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
AVR32 Anwendung mit uboot von SDRAM starten
0x68> 10000142: 34 08 mov r8,64 10000144: 93 48 st.w r9[0x10],r8 10000146: 48 89 lddpc r9,10000164 <main+0x68> 10000148: 34 08 mov r8,64 1000014a: f3 48 00 60 st.w r9[96],r8 1000014e: 48 69 lddpc r9,10000164 <main+0x68> 10000150: 34 08
stack: 24007000 <_stack>: [/c] Der Stack liegt also im SRAM [c] Disassembly of section .bss: 24000840 <completed.2671>: 24000840: 00 00 add r0,r0 ... 24000844 <cur_heap_pos.2090>: 24000844: 00 00 add r0,r0 ... 24000848 <__malloc_top_pad>: 24000848: 00
-
Thread
avrasmeditor
, enclose it in quotes. 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
# 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
-
Thread
32-Bit-µC: Möglichst viel uint8_t verwenden?
man einen 8 bit Wert nicht nur temporär > im Stack/Register verwenden, sondern irgendwo als Data/Bss/Heap > speichern, dann nimmt man eben uint_least8_t für die Felddeklaration, > dann läuft der Code auch auf den oben erwähnten DSP Architekturen ohne > irgendwelche Klimpzüge. Das ist eine sehr
signed, > long, double usw. > Siehste. Wenn Du als einzig gültige Sprachdefinition von C die von C89 akzeptierst, dann ja. In neueren C-Standards (ab C99) gehört aber stdint.h und das, was da drinsteht, zum Sprachumfang. Siehste.
-
Thread
STM32 Umfang
unbedingt mal einen µC so von ganz unten programmieren willst, dann mache das in Assembler mit einem 89C2051 - der ist wesentlich simpler. Dein Vorhaben mit dem STM32 ist nur 50x Arbeitsintensiver aber lernen tust du dabei fast nichts zusätzliches - ausser vielleicht Übung im Tippen.
Pointer oder nur Integer? Das hier generiert bei mir nämlich einen Fehler: for (uint32_t *i = __bss_start__; i < __bss_end__; i++) { ... } Fehler: Warning: Comparison between pointer and integer. Außerdem: warum inkrementierst du (bei dir "dest") i vor dem Durchlauf der for-Schleife?
-
Thread
SDCC Z80 Compiler: Frage zu Warnung. MBC2-Board
#7671634: > Leere Klammern sind ohne Prototypen > nicht (mehr) erlaubt. ... und zwar schon seit C89 nicht mehr.
.area _GSFINAL .area _DATA .area _INITIALIZED .area _BSEG .area _BSS .area _HEAP ; --- Defintion der Heap Groesse __sdcc_heap_start:: .ds heap_size .area _HEAP_END __sdcc_heap_end:: .ds 1 ;//////////////////////////////////
-
Thread
Rust - ist das hier um zu bleiben?
lassen. Anders als vor 25 Jahren genügt es auch nicht mehr, einen Host-CC zu haben, der noch nichtmal C89 beherrscht (wie er bspw. dazumals bei HP-UX mit ausgeliefert worden war, um ein paar Kernelmodule nachcompilieren zu können).
> Denn auch C braucht eine Runtime Wobei diese schon *sehr* minimalistisch ist: Ausnullen von .bss, Initialisieren von .data, Setzen des Stackpointers.