-
Data: 2023-02-16 15:37:23
Temat: Re: C++ ośla łączka
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=