-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.h82-143-187-50
-static.e-wro.net.pl!not-for-mail
From: "J.F" <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: C++ ośla łączka
Date: Thu, 16 Feb 2023 15:37:23 +0100
Organization: news.chmurka.net
Message-ID: <wnlpsnmq8f63$.1l74g00zltiej$.dlg@40tude.net>
References: <63da914d$0$19625$65785112@news.neostrada.pl>
<16qbnwht7z74n.8802zax2iioq$.dlg@40tude.net>
<63dad430$0$9589$65785112@news.neostrada.pl>
<trelrs$g0p$1$Janusz@news.chmurka.net>
<trgbkf$st9$1$PiotrGalka@news.chmurka.net>
<63dbd22e$0$9601$65785112@news.neostrada.pl>
<ts6rps$roo$1$PiotrGalka@news.chmurka.net>
<63e9f424$0$19625$65785112@news.neostrada.pl>
<tsg6eb$96a$1$PiotrGalka@news.chmurka.net> <tsgv8m$2kn8s$1@dont-email.me>
<tsiqth$55n$1$PiotrGalka@news.chmurka.net> <tsj9if$2v62r$1@dont-email.me>
<tsl72n$lpl$1$PiotrGalka@news.chmurka.net>
NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Injection-Info: news.chmurka.net; posting-account="jfoxwr";
posting-host="h82-143-187-50-static.e-wro.net.pl:82.143.187.50";
logging-data="27603";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: 40tude_Dialog/2.0.15.1
Xref: news-archive.icm.edu.pl pl.misc.elektronika:778370
[ ukryj nagłówki ]On Thu, 16 Feb 2023 13:20:42 +0100, Piotr Gałka wrote:
> A teraz pytanie brata na które nie znamy odpowiedzi.
>
> Ogólnie to jest pierwsze podejście do procesorów ARM (nie wiem z którym
> w tej chwili walczy (Silabs EFM32PG22..., EFM32PG23..., a może EFM32TG11..).
> Zanim użyje procesor po raz pierwszy musi opanować podstawowe działania
> no i jest właśnie na tym etapie.
>
> On by potrzebował sizeof(funkcja).
I to ma zwrocic rozmiar kodu funkcji, czy rozmiar typu zwracanego
przez funkcję?
> Ale jak próbuje to zrobić to dostaje 1.
> Zasugerowałem, że może jak wstawi etykietę (przypomnieliśmy sobie, że
> chyba w C coś takiego jest) na nawiasie zamykającym funkcję to uda się
> policzyć różnicę między jej adresem a adresem początku funkcji.
> Właśnie mi krzyknął (jego pokój jest piętro niżej), że z zewnątrz
> funkcji nie ma dostępu do tej etykiety.
Nie liczylbym na to, ze to zadziała poprawnie.
Ale jak chcecie miec klopoty ... dodajcie do funkcji kolejny argument,
ktory przy wywolaniu zwroci róznice miedzy etykietami.
Albo gdzies zapamieta, bo przeciez typ funkcji moze byc inny.
> Napiszę do czego mu to potrzebne bo czasem może rozwiązanie głównego
> problemu robi się inaczej niż on kombinuje.
>
> Wczoraj wieczorem wspólnie tłumaczyliśmy dwa akapity datasheet, czy
> manuala (nie wiem - on mi po prostu podświetlił akapit na ekranie i
> chodziło o to jak to rozumiemy).
>
> Tam było, że jak się coś robi z programowaniem flasha z wnętrza programu
> to ogólnie nie ma gwarancji, że wszystko się uda. I to zdanie było
> ogólne - czyli nawet jak ruszasz inną stronę niż jesteś to może coś nie
> zadziałać. Nie napisali co dokładnie, ale skoro może coś się nie udać to
> my tego nie chcemy. Napisali, żeby przekopiować odpowiednią funkcję do
> RAMu, wywołać ją i z niej uruchomić proces kasowania, czy programowania
> flasha.
Kopiowanie pod inny adres wymaga relokowalnego kodu - czesto taki
jest, ale warto by sie upewnic.
> Już opanował wywoływanie funkcji po jej skopiowaniu do RAMu.
> Z adresem początku sobie radzi, choć mówi, że wskaźnik na funkcję jest
> zawsze większy o 1 od prawdziwego adresu i ustalając fragment do
> kopiowania on musi tę jedynkę odejmować.
Ciekawe, bardzo ciekawe.
A niech wywola gdzies funkcje ze wskaznika, i zobaczy jak to sie
skompiluje - tez bedzie cofnięcie o bajt?
Chyba, ze przed punktem startowym funkcji jest cos waznego zapisane.
> Wszystko już działa, tylko, że na razie rozmiar funkcji bierze z sufitu
> na zapas.
> No i jedyne co brakuje do odhaczenia kolejnej funkcjonalności to
> ustalenie w jednej funkcji jaki jest sizeof drugiej funkcji.
To chyba nie ma.
Napisalbym to w assemblerze, zeby wiadomo bylo, ze nic sie nie sp*,
lub postaral sie skorzystac z jakiejs dynamicznie ladowanej biblioteki
lub pozostal przy zapasie :-)
> Może wiesz (lub ktoś inny) jak to się robi.
https://developer.arm.com/documentation/ka003803/lat
est
cos takiego?
:-(
J.
Następne wpisy z tego wątku
- 16.02.23 16:05 Piotr Gałka
- 16.02.23 17:56 heby
- 16.02.23 18:01 heby
- 16.02.23 19:11 Grzegorz Niemirowski
- 16.02.23 19:22 Marek
- 16.02.23 19:27 Marek
- 16.02.23 19:56 heby
- 16.02.23 19:57 heby
- 17.02.23 02:28 JDX
- 17.02.23 02:35 JDX
- 17.02.23 07:17 Marek
- 17.02.23 09:18 heby
- 17.02.23 09:30 J.F
- 17.02.23 10:17 JDX
- 17.02.23 10:28 heby
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security