Пт окт 04, 2019 10:12:22
Пт окт 04, 2019 10:42:32
Пт окт 04, 2019 10:48:55
Пт окт 04, 2019 12:58:04
Пт окт 04, 2019 13:21:29
Пт окт 04, 2019 14:42:21
ПростоНуб писал(а):Если у Вас вырос чирий и Вы его заклеили лейкопластырем, то Вы от него избавились?
Пт окт 04, 2019 22:21:27
если бы я был профессиональным программистом, вы бы наверняка обратили внимание на мои слова... но я не он, и потому повторюсь: избавляться от варнингов, по моему мнению, в большинстве случаев совсем нет необходимости. просто надо как-то научиться с этим житьjcxz писал(а):От варнингов нужно избавляться всегда.
Это именно то, что Вы потом и делаете подавляете предупреждение.
это никак. точнее, это "как" только в каждом отдельно рассматриваемом случае. а абстрактно - никак вообще.jcxz писал(а):Избавляться от варнингов - это правильно или нет?
и вот я бы посмотрел на вас после того, как у вас, как у меня на ноуте, разочек клава сбойнула и вместо == у вас прошел бы = без варнингаjcxz писал(а):Я, например, знаю, что я понимаю разницу между операторами '=' и '==', поэтому всегда отключаю варнинг "вы написали '=', но возможно хотели '=='" во всех проектах во компиляторах сразу.
Вс дек 15, 2019 22:50:13
typedef struct {
uint16_t Period;
int Steps;
enum TachDirection Dir;
} Tach_stru_t;
volatile Tach_stru_t TachLeft, TachRight;
Вс дек 15, 2019 23:30:55
По-моему да, компил кейла наверняка в память программ засунет, но лучше проверить.uldemir писал(а):Вообще-то, menu_item - это константная структура и ей в ОЗУ делать нечего. Как её заставить разместиться в ПЗУ? модификатора const будет достаточно?
Наверное же есть файл стартапа? Поглядите как там инициализация указателя стека оформлена. Я уже сталкивался и это обсуждалось в ARMом разделе, что по умолчанию в стартапе указаетель инициализируется вовсе на конец памяти. MSP432 я совсем не знаю, если что .uldemir писал(а):Это получается, что я получил переполнение стека?? Но при компиляции мне никто никаких предупреждений не выдал. Что делать и как этого избежать в дальнейшем?
Пн дек 16, 2019 01:08:01
Пн дек 16, 2019 06:44:21
Пн дек 16, 2019 09:43:42
Пн дек 16, 2019 17:52:46
Пн дек 16, 2019 18:01:47
Нормально там все, вниз как у всех.uldemir писал(а):в startupе нашел только размер стека. в репорте - адрес. Приеду домой, посмотрю в книжке, куда у этих кортексов растет стек, вверх или вниз по адресам?
Пн дек 16, 2019 19:51:22
videobuffer 0x200004d0 Data 128 configure.o(.bss)
.bss 0x20000550 Section 912 main.o(.bss)
.bss 0x200008e0 Section 4500 maze.o(.bss)
.bss 0x20001a74 Section 24 tachometer.o(.bss)
.bss 0x20001a8c Section 96 libspace.o(.bss)
HEAP 0x20001af0 Section 0 startup_msp432p401r_uvision.o(HEAP)
STACK 0x20001af0 Section 512 startup_msp432p401r_uvision.o(STACK)
Heap_Mem 0x20001af0 Data 0 startup_msp432p401r_uvision.o(HEAP)
Stack_Mem 0x20001af0 Data 512 startup_msp432p401r_uvision.o(STACK)
__initial_sp 0x20001cf0 Data 0 startup_msp432p401r_uvision.o(STACK)
Чт дек 26, 2019 20:02:52
map_cell_t map[100]; // для этого надо выделить память.
//а вот их определение:
typedef struct coordinate{
int east;
int north;
} coordinate_t;
typedef struct {
struct coordinate coordinate;
unsigned int node_link[4];
unsigned int pass_count[4];
} map_cell_t;
for (i=0; i<data.map_size; i++) {
if (map[i].coordinate.north > maxY) maxY = map[i].coordinate.north;
if (map[i].coordinate.north < minY) minY = map[i].coordinate.north;
if (map[i].coordinate.east > maxX) maxX = map[i].coordinate.east;
if (map[i].coordinate.east < minX) minX = map[i].coordinate.east;
}
Чт дек 26, 2019 21:06:48
В куче есть лишняя память?uldemir писал(а):нашел еще место, где у меня не хватает памяти в стеке. Хоть я его и увеличил с 0x200 до 0x800 одна функция хапает память. И вот допустим, я хочу ей выделить память в куче.
Чт дек 26, 2019 21:42:47
Чт дек 26, 2019 21:49:03
map_cell_t *map = malloc(sizeof(map_cell_t)*100);
int i;
for(i = 0; i < 100; ++i)
map[i] = malloc(sizeof *map[i]);
В куче место должно быть
Чт дек 26, 2019 22:05:53